mexicanox 7 Denunciar post Postado Março 22, 2010 beleza pessoal, seguinte, eu to tentando criar uma classe que seja filha da PDO eu nao to conseguindo na minha classe usar os metodos da PDO ja tentei de varias formas a ultima é essa abaixo: private $conn; private $query; function __construct(){ try{ $this->conn = parent::__construct("mysql:$host->host;dbname=$this->database",$this->usurio,$this->senha); }catch (PDOException $e){ echo "Erro ao conectar:<br>" .$e->getMessage(); } return $this->conn; } public function adiciona($table,$campo){ $args = func_num_args(); $cArg; $insertTmp; $camposInsert; for($i=1;$i<$args;$i++){ $cArg = func_get_arg($i); if(is_numeric($cArg)) $insertTmp = $cArg; else $insertTmp = "'$cArg'"; ($i>=1 && $i<$args-1)?$camposInsert = $camposInsert .$insertTmp .",":$camposInsert = $camposInsert.$insertTmp; } $this->query = "INSERT INTO $table VALUES($camposInsert);"; // tentei desses jeitos mas nao deu certo $this->exec($this->query); //$this->conn->($this->query); //parent::exec($this->query); } to precisando de uma ajudinha que eu ja nao tenh omais ideia d que fazer flws Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Março 22, 2010 private $conn; private $query; function __construct(){ try{ $this->conn = parent::__construct("mysql:$host->host;dbname=$this->database",$this->usurio,$this->senha); }catch (PDOException $e){ echo "Erro ao conectar: " .$e->getMessage(); } Isso ai é totalmente equivocado, você não precisa criar uma conexão dentro do objeto que deriva PDO utilizando o próprio construtor para tal. <?php class MyPDO extends PDO { public function adiciona( $table , $campo ){ $args = func_num_args(); $cArg; $insertTmp; $camposInsert; for ( $i = 1 ; $i < $args ; $i++ ) { $cArg = func_get_arg( $i ); if ( is_numeric( $cArg ) ) $insertTmp = $cArg; else $insertTmp = "'$cArg'"; ( $i >= 1 && $i < $args - 1 ) ? $camposInsert = $camposInsert . $insertTmp . "," : $camposInsert = $camposInsert . $insertTmp; } $this->query = "INSERT INTO $table VALUES($camposInsert);"; // tentei desses jeitos mas nao deu certo $this->exec( $this->query ); //$this->conn->($this->query); //parent::exec($this->query); } } $pdo = new MyPDO( 'mysql:host=127.0.0.1;dbname=test' , 'user' , 'pswd' ); $pdo->adiciona( 'tabela' , $campo ); Estude herança e procure conhecer os padrões de projeto, lhe ajudarão a compreender os conceitos. ;) Compartilhar este post Link para o post Compartilhar em outros sites
mexicanox 7 Denunciar post Postado Abril 10, 2010 primeiramente desculpe a demora :D Eu tava com uns problemas aqui no pc ai eu decedi instalar o ubuntu ai complico um pouco, por issso a demora. Enfim, agora ta funcionando tudo certinho, muito obrigado pela ajuda. flws Compartilhar este post Link para o post Compartilhar em outros sites