Buenas galera!!
bem e o seguinte to criando uma classe para conexao com a base de dados em pdo, mas agora empenhei e nao to conseguindo achar uma forma como fazer a inserção no banco...
Código (PHP):
o problema e que nao to conseguindo implementa o jeito de inserção do pdo na função de inserção que crie..
alguem tem alguma ideia??
bem e o seguinte to criando uma classe para conexao com a base de dados em pdo, mas agora empenhei e nao to conseguindo achar uma forma como fazer a inserção no banco...
Código (PHP):
<?php
class Banco extends PDO{
private $database = 'mysql';
private $host = 'localhost';
private $dbname = 'nomedobanco';
private $user = 'root';
private $pass = '';
public $conexao = NULL;
//métodos
function __construct(){
$this->conecta();
}// construct
function __destruct(){
$this->conexao = NULL;
}// destruct
function conecta(){
try{
$con = parent:: __construct($this->database.':dbname='.$this->dbname.';host='.$this->host, $this->user, $this->pass);
$this->conexao = $con;
return $this->conexao;
}catch(PDOException $e){
echo 'Erro ao conectar'. $e->getMessage();
return FALSE;
}
}// conecta
public function insert($dado){
// INSERT INTO tabela (campo1) VALUES (valor1)
$sql = "INSERT INTO ".$dado->tabela." (";
for($i = 0; $i < count($dado->campoValores); $i++):
$sql .=key($dado->campoValores);
next($dado->campoValores);
if($i < (count($dado->campoValores)-1)):
$sql .= ", ";
else:
$sql .=") ";
endif;
endfor;
reset($dado->campoValores);
$sql .= "VALUES (";
for($i = 0; $i < count($dado->campoValores); $i++):
is_numeric($dado->campoValores[key($dado->campoValores)]) ?
$dado->campoValores[key($dado->campoValores)] :
"'".$dado->campoValores[key($dado->campoValores)]."'";
if($i < (count($dado->campoValores) - 1)):
$sql .= ", ";
else:
$sql .= ") ";
endif;
next($dado->campoValores);
endfor;
echo $sql;
$this->prepare($sql);
return $this->executaSQL($sql);
}// insert
} // classe banco
class Banco extends PDO{
private $database = 'mysql';
private $host = 'localhost';
private $dbname = 'nomedobanco';
private $user = 'root';
private $pass = '';
public $conexao = NULL;
//métodos
function __construct(){
$this->conecta();
}// construct
function __destruct(){
$this->conexao = NULL;
}// destruct
function conecta(){
try{
$con = parent:: __construct($this->database.':dbname='.$this->dbname.';host='.$this->host, $this->user, $this->pass);
$this->conexao = $con;
return $this->conexao;
}catch(PDOException $e){
echo 'Erro ao conectar'. $e->getMessage();
return FALSE;
}
}// conecta
public function insert($dado){
// INSERT INTO tabela (campo1) VALUES (valor1)
$sql = "INSERT INTO ".$dado->tabela." (";
for($i = 0; $i < count($dado->campoValores); $i++):
$sql .=key($dado->campoValores);
next($dado->campoValores);
if($i < (count($dado->campoValores)-1)):
$sql .= ", ";
else:
$sql .=") ";
endif;
endfor;
reset($dado->campoValores);
$sql .= "VALUES (";
for($i = 0; $i < count($dado->campoValores); $i++):
is_numeric($dado->campoValores[key($dado->campoValores)]) ?
$dado->campoValores[key($dado->campoValores)] :
"'".$dado->campoValores[key($dado->campoValores)]."'";
if($i < (count($dado->campoValores) - 1)):
$sql .= ", ";
else:
$sql .= ") ";
endif;
next($dado->campoValores);
endfor;
echo $sql;
$this->prepare($sql);
return $this->executaSQL($sql);
}// insert
} // classe banco
o problema e que nao to conseguindo implementa o jeito de inserção do pdo na função de inserção que crie..
alguem tem alguma ideia??