Crud Completo genérico em PHP com PDO
Galera, boa tarde. Como que poderia fazer um CRUD completo com INSERT, DELETE, UPDATE e SELECT genérico em PHP com PDO? Gostaria de utilizar esse CRUD para qualquer tabela do meu banco de dados. Alguém pode me ajudar? Agradeceria muito.
Frederico Brigatte***
Curtidas 0
Respostas
Marcio Araujo
02/05/2014
boa tarde FREDERICO BRIGATTE***.
da uma lida neste artigo,
[url]https://www.devmedia.com.br/crud-com-php-pdo/28873[/url]
da uma lida neste artigo,
[url]https://www.devmedia.com.br/crud-com-php-pdo/28873[/url]
GOSTEI 0
Antonio Felix
02/05/2014
uma ajudinha
[url]https://www.devmedia.com.br/introducao-ao-php-pdo/24973[/url]
[url]https://www.devmedia.com.br/introducao-ao-php-pdo/24973[/url]
GOSTEI 0
Frederico Brigatte***
02/05/2014
Obrigado pelo retorno. Estou tentando fazer um genérico, ou seja, não ter que ficar re-escrevendo código para as tabelas que tenho no meu banco. Gostaria que fosse feito apenas uma vez e servisse para qualquer tabela. Até o momento fiz o SELECT, somente assim: SELECT * FROM $tabela. Como que faço para deixar mais dinâmica esse select?
GOSTEI 0
Frederico Brigatte***
02/05/2014
Alguém?
GOSTEI 0
Aldair Gomes
02/05/2014
Olá Frederico,
olhe o link do github.
https://github.com/aldisondiego/PDOFirstLayer
abra o PDOFirstLayer
depois abra o test,
vc vai entender
Espero ter ajudado! =)
olhe o link do github.
https://github.com/aldisondiego/PDOFirstLayer
abra o PDOFirstLayer
depois abra o test,
vc vai entender
Espero ter ajudado! =)
GOSTEI 0
Frederico Brigatte***
02/05/2014
É genérico esse crud? Vou abrir agora. Agradeço a ajuda, mas eu quero um CRUD que MONTE as SQLs pra mim, ou seja, informo a tabela. Queria fazer um que pudesse usar em qualquer tabela, sem a necessidade de refazer os métodos.
GOSTEI 0
Marcio Araujo
02/05/2014
desculpa Frederico. não sei bem.
GOSTEI 0
Frederico Brigatte***
02/05/2014
Gostaria de algo assim, mas em pdo:
public function selecionaTudo($objeto){ $sql = "SELECT * FROM ".$objeto->tabela; if($objeto->extras_select!=NULL): $sql .= " ".$objeto->extras_select; endif; // echo $sql.'<br />'; return $this->executaSQL($sql); }//fim selecionaTudo
GOSTEI 0
Frederico Brigatte***
02/05/2014
Ta dificil.
GOSTEI 0
Luciano Martins
02/05/2014
E pq vc num monta em PDO, já que está dificil?
GOSTEI 0
Marcio Araujo
02/05/2014
E pq vc num monta em PDO, já que está dificil?
luxo, eu li sobre esse PDO, mas não entendi bem, poderia me passar essa informação da forma mais simples?
obrigado.
GOSTEI 0
Frederico Brigatte***
02/05/2014
É em PDO mesmo que quero. A ajuda é que ta difícil, todos que tentaram me ajudar, agradeço, mas me passaram links do modo tradicional, eu quero um genérico, que possa ser utilizado pra qualquer tabela.Postei até um exemplo de select genérico, mas não tem WHERE.
GOSTEI 0
Frederico Brigatte***
02/05/2014
E pq vc num monta em PDO, já que está dificil?
É o que estou tentando fazer.
GOSTEI 0
Aldair Gomes
02/05/2014
Você pode criar um metodo na classe
por exemplo
OBS.: Não testei o código, é apenas um exemplo, mais acho que seria mais ou menos isso!
por exemplo
OBS.: Não testei o código, é apenas um exemplo, mais acho que seria mais ou menos isso!
function __construct(){ $dsn = 'mysql:host=' . $this->db_host . ';dbname=' . $this->db_name; $opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); if (empty($this->conn)) { try { $this->conn = new PDO($dsn, $this->db_user, $this->db_pass, $opcoes); } catch (PDOException $e) { echo $e->getMessage(); } } } //Execute Query private function query($tabela){ try{ $db = $this->conn->prepare('select * from {$tabela}'); $db->execute(); }catch(PDOException $e){ return false; } $this->query = $db; return true; } //-----------------classe que via retornar sua query //Get Array List public function getAll($tabela){ if($this->query($tabelal)){ $dados = array(); try{ return $this->query->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $e){ $e->getMessage(); } } return null; }
GOSTEI 0
Frederico Brigatte***
02/05/2014
Ok, mas e para os outros métodos, não sei como faz.
GOSTEI 0
Frederico Brigatte***
02/05/2014
Como converto isso para PDO?
A função array_key_exists em PDO, como que seria?
public function executaSQL($sql=NULL){ if($sql!=NULL): $query = mysql_query($sql) or $this->trataerro(__FILE__,__FUNCTION__); $this->linhasafetadas = mysql_affected_rows($this->conexao); if(substr(trim(strtolower($sql)),0,6)=='select'): $this->dataset = $query; return $query; else: return $this->linhasafetadas; endif; else: $this->trataerro(__FILE__,__FUNCTION__,NULL,'Comando SQL nao informado na rotina', FALSE); endif; }//fim executaSQL public function retornaDados($tipo=NULL){ switch(strtolower($tipo)): case "array": return mysql_fetch_array($this->dataset); break; case "assoc": return mysql_fetch_assoc($this->dataset); break; case "object": return mysql_fetch_object($this->dataset); break; default: return mysql_fetch_object($this->dataset); break; endswitch; }//fim retornaDados
A função array_key_exists em PDO, como que seria?
GOSTEI 0