0

Utilizando classes no PHP

criado por André de Castro Zorzo em 08/08/2001 6:12pm
<p>5. Definindo uma função</p>
<p>Função como o próprio nome diz, é um bloco de códigos destinado a fazer algo específico,
alguma função, vejamos como utiliza-la:</p>
<p><font face="Courier New"><?<br>
# para esse arquivo daremos o nome de mysql_class.php<br>
class TMySQL { <br>
 var $host;    // qual o servidor<br>
 var $db;      // qual a base<br>
 var $user;    // qual o username<br>
 var $pass;    // qual a senha<br>
 var $socket;  //socket da conexao com o banco<br>
 function connect($host, $db, $user, $pass) {<br>
  $this->host = $host;<br>
  $this->db = $db;<br>
  $this->user = $user;<br>
  $this->pass = $pass;<br>
  $this->socket=mysql_connect($this->host,$this->user,$this->pass);<br>
  if (!$this->socket) {<br>
    echo "Não foi possível conectar-se ao Bando de Dados MySQL";<br>
  }<br>
  else<br>
  {<br>
  if (!mysql_select_db($this->db,$this->socket)){<br>
    echo "Banco de dados não encontrado";<br>
  }<br>
  else<br>
  {<br>
    echo "Banco de dados conectado!";<br>
  }<br>
  }<br>
 }<br>
}<br>
?></font></p>
<p>Definimos a função connect(); para conectarmos o banco de dados MySql, vejamos como
instanciar a classe e utilizar a função dentro de um script:</p>
<p><font face="Courier New"><?<br>
# para esse arquivo daremos o nome de myfile.php<br>
MySQL = new TMySQL();<br>
MySQL->connect($host, $db, $user, $pass);<br>
?></font></p>
<p>Observe que instanciamos a classe, e chamamos a função passando alguns argumentos
necessários para nossa conexão.</p>
<p>6. Definindo variáveis locais</p>
<p>Variáveis locais são utilizadas sempre que se queira uma variável de momento, ou seja,
ao término da função o valor que a variável assumiu durante a execução de
determinada função não será mais necessária. Vejamos como fazer:</p>
<p><font face="Courier New"><?<br>
# para esse arquivo daremos o nome de mysql_class.php<br>
class TMySQL { <br>
 var $host;    // qual o servidor<br>
 var $db;      // qual a base<br>
 var $user;    // qual o username<br>
 var $pass;    // qual a senha<br>
 var $socket;  //socket da conexao com o banco<br>
 function connect($host, $db, $user, $pass) {<br>
  $this->host = $host;<br>
  $this->db = $db;<br>
  $this->user = $user;<br>
  $this->pass = $pass;<br>
  $this->socket=mysql_connect($this->host,$this->user,$this->pass);<br>
  if (!$this->socket) {<br>
    echo "Não foi possível conectar-se ao Bando de Dados MySQL";<br>
  }<br>
  else<br>
  {<br>
  if (!mysql_select_db($this->db,$this->socket)){<br>
    echo "Banco de dados não encontrado";<br>
  }<br>
  else<br>
  {<br>
    echo "Banco de dados conectado!";<br>
  }<br>
  }<br>
 }<br>
 function ultimo_reg() {<br>
  var $ultimo;<br>
  $this->ultimo = mysql_insert_id($this->socket);<br>
  echo "$this->ultimo";<br>
 }<br>
}<br>
?></font></p>
<p>    Veja agora, acima definimos a função ultimo_reg(); para
recuperarmos o último registro inserido e não é necessária informação no
restante da classe, sendo assim definimos a variável $ultimo para utilizarmos
somente dentro da classes.</p>

Comentários:

Mostrando 1 - 10 de 36 comentários
ocaccy disse:
Ola pessoal do PHPBRASIL.

Tenho 2 servidores: X e Y, ambos com php e mysql.
Tenho uma base de dados no X e preciso acessar estes dados pelo site do Y.
Estive lendo sobre pipe e sockets, mas nao encontrei a solucao.

Fiz o seguinte código.

<?php
# Declaracao de variaveis.
$dbhost = '202.218.22.24';
$dbuser = 'user';
$dbpass = 'senha';
$dbname = 'bcodados';
# Conectando ao servidor e ao banco de dados.
$connection = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$connection){ die ("Nao foi possivel a conexao ao servidor: “. mysql_error()); }
$db_select = mysql_select_db($dbname);
if (!$db_select){ die (“Nao foi possivel acessar o banco de dados: “. mysql_error()); }
# Insere valor de teste.
$queryp = “INSERT INTO kanri VALUES (, ‘MARIO’);”;
?>

Porém retorna este erro:

Nao foi possivel a conexao ao servidor:
Access denied for user ‘ user ‘@’211.16.230.41′ (using password: YES)
O 202.218.22.24 é o servidor onde se encontra minha base de dados e 211.16.230.41 e o IP do Y!

Me ajudem a ter acesso aos dados no servidor 202.218.22.24 (X).
Muito agradecipo pela ajuda.
ocaccy
17/08/2010 2:53am (~14 anos atrás)

ocaccy disse:
Ola pessoal do PHPBRASIL.

Tenho 2 servidores: X e Y, ambos com php e mysql.
Tenho uma base de dados no X e preciso acessar estes dados pelo site do Y.
Estive lendo sobre pipe e sockets, mas nao encontrei a solucao.

Fiz o seguinte código.

<?php
# Declaracao de variaveis.
$dbhost = '202.218.22.24';
$dbuser = 'user';
$dbpass = 'senha';
$dbname = 'bcodados';
# Conectando ao servidor e ao banco de dados.
$connection = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$connection){ die ("Nao foi possivel a conexao ao servidor: “. mysql_error()); }
$db_select = mysql_select_db($dbname);
if (!$db_select){ die (“Nao foi possivel acessar o banco de dados: “. mysql_error()); }
# Insere valor de teste.
$queryp = “INSERT INTO kanri VALUES (, ‘MARIO’);”;
?>

Porém retorna este erro:

Nao foi possivel a conexao ao servidor:
Access denied for user ‘ user ‘@’211.16.230.41′ (using password: YES)
O 202.218.22.24 é o servidor onde se encontra minha base de dados e 211.16.230.41 e o IP do Y!

Me ajudem a ter acesso aos dados no servidor 202.218.22.24 (X).
Muito agradecipo pela ajuda.
ocaccy
17/08/2010 2:52am (~14 anos atrás)

<?
/* Inicio da classe */
class cMysql {
var $host;
var $db;
var $user;
var $pass;
var $conexao;
var $sSql;
var $arrRecordset;

function connect($host, $db, $user, $pass) {
$this->host = $host;
$this->db = $db;
$this->user = $user;
$this->pass = $pass;
$this->conexao = mysql_connect($this->host,$this->user,$this->pass);
if (!$this->conexao) {
echo "Não foi possível conectar-se ao Bando de Dados MySQL";
}else{
if (!mysql_select_db($this->db,$this->conexao)) {
echo "Banco de dados não encontrado";
}
}
}

function cMysql(){
$this->connect('localhost', 'redirecionamentos', 'root', 'senhadoroot');
}

function disconnect(){
mysql_close($this->conexao);
}

function free_page_result($recordset) {
mysql_free_result($recordset);
}

function get_num_rows() {
$this->num_rows = mysql_num_rows($this->arrRecordset);
return $this->num_rows;
}

function query ($sTipo, $sSql) {
$this->sSql = $sSql;
switch ($sTipo) {
case "select":{
$this->arrRecordset = mysql_query($this->sSql, $this->conexao) or die(mysql_error('Erro ao executar o Select:'.$this->sSql));
}
break;
case "insert":{
$this->arrRecordset = mysql_query($this->sSql, $this->conexao) or die(mysql_error('Erro ao executar o Insert:'.$this->sSql));
}
break;
case "delete":{
$this->arrRecordset = mysql_query($this->sSql, $this->conexao) or die(mysql_error('Erro ao executar o Delete:'.$this->sSql));
}
break;
case "update":{
$this->arrRecordset = mysql_query($this->sSql, $this->conexao) or die(mysql_error('Erro ao executar o Update:'.$this->sSql));
}
break;
}
return $this->arrRecordset;
}
}
/* Fim da classe */

/* Forma de Uso */
$qRedirecionamento = new cMysql;
$rsRedirecionamento = $qRedirecionamento->query('select','SELECT * from jwt_redirect ORDER BY redirect_time ASC');
$registros = $qRedirecionamento->get_num_rows();
for ($i = 0; $i < $registros; $i++){
echo '<br/> A URL: '.mysql_result($rsRedirecionamento, $i, "redirect_url").' foi acessada as '.mysql_result($rsRedirecionamento, $i, "redirect_time");
}
$qRedirecionamento->free_page_result($rsRedirecionamento);
?>
18/02/2007 5:39pm (~18 anos atrás)

Gustavo B. disse:
Então há falha no artigo?
Pois exite declaracao na função ultimo_reg()



function ultimo_reg() {

var $ultimo;

$this->ultimo = mysql_insert_id($this->socket);

echo "$this->ultimo";

}


25/08/2006 8:59am (~18 anos atrás)

if (substr($string,0,6)=="select") {

echo "Comando aceito!";

}

else

{

echo "Isso não é um select";

}

}

}

}

?>

nesta parte tem como usar o insert, delete e o update
25/07/2006 7:12am (~18 anos atrás)

var dentro da função não vai mesmo.. só dentro da classe
30/03/2006 5:33pm (~18 anos atrás)

Olá pessoal

Estranhamente eu não consigo declarar uma variável dentro de uma função da classe usando a palavra reservada "var" na frente

function teste($x)
{
var $z
bla bla bla
}

existe diferença em usar
function teste($x)
{
$z
bla bla bla
}
23/02/2006 6:49am (~19 anos atrás)

Olá pessoal

Estranhamente eu não consigo declarar uma variável dentro de uma função da classe usando a palavra reservada "var" na frente

function teste($x)


23/02/2006 6:47am (~19 anos atrás)

Agore entendi André, eu altero nessa sequência:

function connect($host, $db, $user, $pass) {

$this->host = $host;

$this->db = $db;

$this->user = $user;

$this->pass = $pass;
19/01/2006 11:57am (~19 anos atrás)

na página 2, tu encontrarás a sequencia da classe onde tem a função connect que recebe parametrod de login e senha do banco de dados...
18/01/2006 10:53am (~19 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)