De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Usando SQLs em PHP apartir de um arquivo de funções
Colaboração: Eduardo Ferreira de Carvalho
Data de Publicação: 06 de Fevereiro de 2005
A minha dica será como implementar um arquivo com funções
SQL para serem utilizadas em arquivos PHP possibilitando até
trabalhar com camadas.
UM recurso interessante é centralizar num único arquivo todas
as conexões ao banco de dados, no meu caso MYSQL. Para isso
criei um arquivo db_sql.php que possui o seguinte código:
<?php
if (function_exists("DbQuery")==false)
{
function DbQuery($Query,$type)
{
$DbQueryResult=mysql_query($Query);
if ($type==1)
{
$NumFields=mysql_num_fields($DbQueryResult);
for ($c=0;$c<=($NumFields-1);$c++)
{
$Name[$c]=mysql_field_name($DbQueryResult,$c);
}
$QueryResultAll=mysql_fetch_array($DbQueryResult);
for($d=0;$d<=($NumFields-1);$d++)
{
$QueryResult[$Name[$d]]=$QueryResultAll[$d];
}
}
if ($type==2)
{
$NumRegist=mysql_num_rows($DbQueryResult);
$NumFields=mysql_num_fields($DbQueryResult);
for ($c=0;$c<=($NumFields-1);$c++)
{
$Name[$c]=mysql_field_name($DbQueryResult,$c);
}
for ($c=0;$c<=($NumRegist-1);$c++)
{
$QueryResultAll[$c]=mysql_fetch_array($DbQueryResult);
for($d=0;$d<=($NumFields-1);$d++)
{
$QueryResult[$c][$Name[$d]]=$QueryResultAll[$c][$d];
}
}
}
return $QueryResult;
}
}
if (function_exists("db_connect")==false)
{
function db_connect()
{
include "constantes.php";
$link=mysql_pconnect($host,$user,$pass);
if ($link)
{
mysql_select_db($BD,$link);
}
}}
if (function_exists("db_query")==false)
{
function db_query($query)
{
$resultado=mysql_query($query);
return TRUE;
}}
?>
Neste arquivo existem 3 funções: DbQuery(), db_connect()
e db_query().
DbQuery() - função para utilização de SELECT
db_connect() - função que conecta ao banco de dados
db_query() - função para utilização de INSERT, UPDATE e DELETE
Para todos os arquivos php que utilizarão as funções SQL,
coloca-se:
require("db_sql.php");
db_connect();
Depois a chamada para uma das funções:
<?php
.....
$sql="UPDATE t1 SET c1='$var1' WHERE c2='$var2'";
$result=db_query($sql);
$sql="SELECT nome FROM t1";
$linha=DbQuery($sql,2);
$TotalRegistros = $linha[NumRegist];
$c = 0;
if ($linha)
{
while($linha[$c])
{
$Atual = $linha[$c];
$nome=$Atual[nome];
$c++;
}
}
$sql="SELECT nome FROM t1 WHERE c1='$var1'";
$linha=DbQuery($sql,1);
$nome=$linha[nome];
.....
?>
Onde em DbQuery(), $sql é a string que será o comando SQL
enviado e valor=1 avisa para a função que somente retornará
um valor do SELECT e valor=2 valores com mais de um registro.
Onde em db_query(), $sql é a string que será o comando SQL
enviado.
Onde em db_connect(), o include constantes.php é o arquivo na
qual conterá as variáveis $host, $user, $pass e $BD que são
essenciais para a conexão com o BD.
Bom, é isso e espero ter ajudado bastante nesta minha primeira
postagem em Dicas-L. Qualquer dúvida sobre o código mande-me
um e-mail <edufc (a) fem unicamp br> ou pelo MSN <webcemib (a) hotmail com>.
Estatisticas do NBSO: Incidentes -- totais 2004 e 4o trimestre
Estao disponíveis em http://www.nbso.nic.br/stats/incidentes/
as estatísticas dos incidentes reportados ao NBSO (NIC BR Security Office) em 2004, incluindo: