Ai vai uma classe que eu editei... pegando ideias e funções não criadas inteiramente por mim, e algumas editadas...
mysql.class.php
<?php
/*
Classe para conexão ao banco de dados , select , insert ,update e delete
e alguns metodos utieis como transforma data de yyyy-mm-dd para dd/mm/yyyy e vice - versa e uma anti sql injection
Funções simplificadas para maior entedimento
Não é uma classe que eu criei e sim codigos pegos e modificados se necessarios
@editor: David Guilherme // pois não nenhuma criada inteiramente por mim
@data: 03/08/2010
*/
class MySQL{
//Variaveis de acesso ao banco de dados
var $host = 'servidor';
var $login = 'usuario';
var $senha = 'senha';
var $banco = 'banco';
//Variavel de Resposta
var $conec;
//Metodo Construtor
function MySQL(){
$this->conec = mysql_connect($this->host,$this->login,$this->senha);
if ($this->conec){
$result = mysql_select_db($this->banco,$this->conec);
if (! $result){
echo 'Conexão ao database falhou, ao escolher o banco de dados';
$ret = 0;
}else{
$ret = $this->conec;
}
}else{
echo 'Conexão ao database falhou,ao tentar conectar ao seu database MySQL';
$ret = 0;
}
return ($ret);
}
//Metodo de execusão do sql
function querySQL($sql){
$result = mysql_query($sql,$this->conec);
if (! $result){
echo 'Erro ao tentar executar um codigo sql';
$res = 0;
}else{
$res = $result;
}
return ($res);
}
//Metodo inserir dados indepedente da ordem que estão listados
/*
Formato: $infoarray = array(array("valor a ser inserido","campo da tabela");
ex.:
$infoarray = array( array("$usuario","usuario"),
array("$senha","senha"),
array("$nomeCompleto","nomeCompleto"),
array("$data","dataNascimento"),
array("$email","email"),
array("$id","id"));
*/
function insertSQL($tabela,$infoarray){
$resposta = $this-> querySQL("select * from $tabela");
if($resposta){
$sql = "insert into $tabela values (";
while($objcampos = mysql_fetch_field($resposta)){
$campotabela = $objcampos->name;
reset($infoarray);
while(list($chave) = each($infoarray)){
$valor = $infoarray[$chave][0];
$campo = $infoarray[$chave][1];
if($campotabela == $campo){
$sql .= "\"$valor\",";
}
}
}
$sql = substr($sql,0,strlen($sql)-1).")";
$res = $this-> querySQL($sql);
return ($res);
}
}
//Metodo atualizar dados indepedente da ordem colocada
/*
Colocar 1 o campo que vai servi de clasula pra o where e 0 para o resto
Formato: $infoarray = array(array("valor a ser inserido","campo da tabela","where");
ex.:
$infoarray = array( array("$usuario","usuario","0"),
array("$senha","senha","0"),
array("$nomeCompleto","nomeCompleto","0"),
array("$data","dataNascimento","0"),
array("$email","email","0"),
array("$id","id","1"));
*/
function updateSQL($tabela,$infoarray){
$sql = "update $tabela set";
$whereid = " where ";
while (list($chave) = each($infoarray)){
$valor = $infoarray[$chave][0];
$campo = $infoarray[$chave][1];
$where = $infoarray[$chave][2];
if($where){
$whereid .= "$campo = \"$valor\" AND";
}else{
$sql .= "$campo = \"$valor\",";
}
}
$whereid = substr($whereid,0,strlen($whereid)-4);
$sql = substr($sql,0,strlen($sql)-1).$whereid;
$res = $this->querySQL($sql);
return ($res);
}
//Metodo excluir dados
function deleteSQL($tabela,$idcampo,$id){
$res = $this->querySQL("delete from $tabela where $campo = \"$id\" ");
return ($res);
}
//Metodos pra inverter o formato data de brasileiro para americano e vice-versa
// Formata data aaaa-mm-dd para dd/mm/aaaa
function databr($datasql) {
if (!empty($datasql)){
$p_dt = explode('-',$datasql);
$data_br = $p_dt[2].'/'.$p_dt[1].'/'.$p_dt[0];
return $data_br;
}
}
// Formata data dd/mm/aaaa para aaaa-mm-dd
function datasql($databr) {
if (!empty($databr)){
$p_dt = explode('/',$databr);
$data_sql = $p_dt[2].'-'.$p_dt[1].'-'.$p_dt[0];
return $data_sql;
}
}
//Metodo anti-injection
function anti_injection($sql) {
// remove palavras que contenham sintaxe sql
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);
$sql = trim($sql);//limpa espaços vazio
$sql = strip_tags($sql);//tira tags html e php
$sql = addslashes($sql);//Adiciona barras invertidas a uma string
return $sql;
}
}
?>
Obs.: Nas funções insertSQL, updateSQL não é nescessario coloca os valores na mesma ordem dos campos da tabela
Pergunta
david.lyonnais
Ai vai uma classe que eu editei... pegando ideias e funções não criadas inteiramente por mim, e algumas editadas...
mysql.class.php
Obs.: Nas funções insertSQL, updateSQL não é nescessario coloca os valores na mesma ordem dos campos da tabela
Qualquer erro so posta ai...
Editado por david.lyonnaisLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.