Utilizando classes no PHP
<p>7. Passando argumentos para as funções</p>
<p>Passar argumento para as funções é muito utilizado dentro do contexto classes, pois
os valores podem ser utilizados em qualquer parte do script, mesmo que se tenha
definido como um valor local. Vejamos um exemplo:</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><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>
function ultimo_reg() { <br>
var $ultimo;<br>
$this->ultimo = mysql_insert_id($this->socket); <br>
echo "$this->ultimo";<br>
}<br><br>
function query ($string) { <br>
var $myquery;<br>
$this->myquery = mysql_query($string,$this->socket); <br>
if (!$this->myquery) { <br>
echo "Erro manipulando query!";<br>
} <br>
else<br>
{ <br>
if (substr($string,0,6)=="select") { <br>
echo "Comando aceito!";<br>
} <br>
else<br>
{<br>
echo "Isso não é um select";<br>
} <br>
} <br>
}<br>
}<br>
?><br></font></p>
<p>Agora, para manipularmos a função acima podemos instanciar a classe dentro de um
script e utilizar a função para verificar se o comando passado é válido:</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>
MySQL->query("select * from fornecedores");<br>
?><br></font></p>
<p>8. Retornando valor nas funções</p>
<p>Utilizando funções, podemos passar argumentos, como podemos retornar valores em um
contexto classes, retornar valores é utilizado tanto quanto passar argumentos.
Para tal, fazemos o seguinte:</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><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>
function ultimo_reg() { <br>
var $ultimo;<br>
$this->ultimo = mysql_insert_id($this->socket); <br>
echo "$this->ultimo";<br>
}<br><br>
function query ($string) { <br>
var $myquery;<br>
$this->myquery = mysql_query($string,$this->socket); <br>
if (!$this->myquery) { <br>
echo "Erro manipulando query!";<br>
} <br>
else<br>
{ <br>
if (substr($string,0,6)=="select") { <br>
echo "Comando aceito!";<br>
} <br>
else<br>
{<br>
echo "Isso não é um select";<br>
} <br>
} <br>
$this->retorno($string)<br>
} <br><br>
function retorno ($string){<br>
echo "Comando $string é invalido";<br>
}<br>
}<br>
?></font></p>
<p>Observe que na função retorno(); é passada a mesma $string que foi passada como
argumento na função query(); e então temos o retorno de um valor.</p>
<p>Passar argumento para as funções é muito utilizado dentro do contexto classes, pois
os valores podem ser utilizados em qualquer parte do script, mesmo que se tenha
definido como um valor local. Vejamos um exemplo:</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><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>
function ultimo_reg() { <br>
var $ultimo;<br>
$this->ultimo = mysql_insert_id($this->socket); <br>
echo "$this->ultimo";<br>
}<br><br>
function query ($string) { <br>
var $myquery;<br>
$this->myquery = mysql_query($string,$this->socket); <br>
if (!$this->myquery) { <br>
echo "Erro manipulando query!";<br>
} <br>
else<br>
{ <br>
if (substr($string,0,6)=="select") { <br>
echo "Comando aceito!";<br>
} <br>
else<br>
{<br>
echo "Isso não é um select";<br>
} <br>
} <br>
}<br>
}<br>
?><br></font></p>
<p>Agora, para manipularmos a função acima podemos instanciar a classe dentro de um
script e utilizar a função para verificar se o comando passado é válido:</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>
MySQL->query("select * from fornecedores");<br>
?><br></font></p>
<p>8. Retornando valor nas funções</p>
<p>Utilizando funções, podemos passar argumentos, como podemos retornar valores em um
contexto classes, retornar valores é utilizado tanto quanto passar argumentos.
Para tal, fazemos o seguinte:</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><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>
function ultimo_reg() { <br>
var $ultimo;<br>
$this->ultimo = mysql_insert_id($this->socket); <br>
echo "$this->ultimo";<br>
}<br><br>
function query ($string) { <br>
var $myquery;<br>
$this->myquery = mysql_query($string,$this->socket); <br>
if (!$this->myquery) { <br>
echo "Erro manipulando query!";<br>
} <br>
else<br>
{ <br>
if (substr($string,0,6)=="select") { <br>
echo "Comando aceito!";<br>
} <br>
else<br>
{<br>
echo "Isso não é um select";<br>
} <br>
} <br>
$this->retorno($string)<br>
} <br><br>
function retorno ($string){<br>
echo "Comando $string é invalido";<br>
}<br>
}<br>
?></font></p>
<p>Observe que na função retorno(); é passada a mesma $string que foi passada como
argumento na função query(); e então temos o retorno de um valor.</p>
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
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);
?>
/* 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)
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";
}
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
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)
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
}
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)
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;
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)
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