gedmilson 5 Denunciar post Postado Maio 27, 2015 já tentei usar on insert, delete e update mas nada funciona alguém já passou por uma situação melhante e conseguil resouver? o codigo funte está aqui em baixo. mas não importa o que eu faça o where não funciona <?phpfunction __autoload($class){require_once"{$class}.class.php";}abstract class ConDB{private static $cnx;private function setConn(){returnis_null(self::$cnx)?self::$cnx=new PDO('mysql:host=localhost;dbname=desenvolvendophp','admin','admin'):self::$cnx;}public function getConn(){return $this->setConn();}}$crud=new CRUD;$sel=$crud->select('email','usuario','WHERE idUsuario=?',array(5));foreach($sel as $reg);{var_dump($reg);} Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Maio 28, 2015 Que isso amigo? :upset: Comece estudando o básico. http://php.net/manual/pt_BR/language.oop5.php http://php.net/manual/pt_BR/language.oop5.autoload.php Compartilhar este post Link para o post Compartilhar em outros sites
gedmilson 5 Denunciar post Postado Maio 28, 2015 Que isso amigo? :upset: Comece estudando o básico. http://php.net/manual/pt_BR/language.oop5.php http://php.net/manual/pt_BR/language.oop5.autoload.php Estou acompanhando um curso de php pdo dez de o inicio o meu problema é que simplismente o clausula where não está funcionando não sei se é um problema com o Wamp. a unica coisa que sei é que por exemplo se coloco assim select * from tabela funciona tudo bem. Mostra todo o contepúdo sem problema mas se coloco. select * from tabela where fulano não aparece absolutamente nada não importa se o nome existe ou não na tabela. fiz do seguinte modo primeiro fiz um crud assim mostrando todas as funções com pdo e php <?php class CRUD extends ConDB { private $query; private function prepExec($prep,$exec) { $this->query=$this->getConn()->prepare($prep); $this->query->execute($exec); } public function insert($table,$prep,$exec) { $this->prepExec('INSERT INTO ' . $table . ' SET ' . $prep . '', $exec); return $this->getConn()->lastInsertId(); } public function select($fields,$table,$cond,$exec) { $this->prepExec('SELECT '.$fields.' FROM '.$table.' '.$cond.' ',$exec); return $this->query; } public function update($table,$cond,$exec) { $this->prepExec('UPDATE '.$table.' SET '.$cond.'', $exec); } public function delete($table,$cond,$exec) { $this->prepExec('DELETE FROM '.$table.''.$cond.'',$exec); } } até ai funciona. depois chamo a função ConDB.php <?php function __autoload($class){require_once"{$class}.class.php";} abstract class ConDB { private static $cnx; private function setConn() { return is_null(self::$cnx)? self::$cnx=new PDO('mysql:host=localhost;dbname=desenvolvendophp','admin','admin'): self::$cnx; } public function getConn() {return $this->setConn();} } O problema é que quando chamo a funçao crud para me retornar quantos usuarios tem com a senha e o nome não me retorna a nenhum resultado. $crud=new CRUD; $sel=$crud->select('email','usuario','WHERE idUsuario=?',array(5)); foreach($sel as $reg); { var_dump($reg); } Ai fiz o teste com outras funções como por exemplo a insert funcionou normalmente o problema e quando uso a função WHERE. para pesquisar Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Maio 29, 2015 Apesar que é para fins didáticos, é um exemplo de CRUD bem tosco. Não é necessário passar a WHERE no parâmetro $crud->select('email','usuario','idUsuario=?', array(5)); Faça estas verificações já no objeto. public function select($fields, $table, $cond=null, $exec=null) { $sql = "SELECT $fields FROM $table"; if(isset($cond)){ $sql .= " WHERE $cond"; } var_dump($sql); $this->prepExec($sql, $exec); return $this->query; } Eu particularmente passaria estes dados via array e manipulava do outro lado. $array = array( 'fields' => array( 'email' ), 'table' => array( 'usuario' ), 'conditions' => array( 'idUsuario' => 5, ), 'limit' => 1, ); $crud->select($array); Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Rocha Borges 0 Denunciar post Postado Maio 29, 2015 :O where? kkkkkk ta meio desconfigurado isso ;-; Compartilhar este post Link para o post Compartilhar em outros sites
gedmilson 5 Denunciar post Postado Maio 30, 2015 Valeu pela ajuda vou tentar fazer dessa maneira Compartilhar este post Link para o post Compartilhar em outros sites