Array
(
)

PHP não insere no PostgreSQL

PHP
Artemsite
   - 16 nov 2012

Estou utilizando o PostgreSQL 9.1.6 com PHP 5.3.10, consigo fazer a conexão no banco de dados, porém não é possível executar o insert. Não há nenhuma mensagem de erro... ele passa como se tivesse sido executado com sucesso... exemplo do teste:
#Código
class ConnDB {
private $host;
private $db;
private $port;
private $strConn;
private $user;
private $pwd;
private $connDB;
public function connectDB() {
$this->host = "localhost";
$this->db = "gerenciador";
$this->port = "5432";
$this->strConn = 'pgsql:dbname=' . $this->db . ';host=' . $this->host . ';port=' . $this->port;
$this->user = "allan";
$this->pwd = "kerberos280104";
$this->connDB = new PDO($this->strConn, $this->user, $this->pwd);
if ($this->connDB) {
return $this->connDB;
} else {
die("Falha ao conectar!!!");
}
}
public function closeDB() {
$this->connDB = null;
}
}


#Código
$strConn = new ConnDB();
$conn = $strConn->connectDB();
$sql = ' INSERT INTO tb_editoria(identificador, id_editoria_pai, titulo, descricao, tipo, status)
VALUES (:identificador, :id_editoria_pai, :titulo, :descricao, :tipo, :status)';

$vObj = array();
$vObj['identificador'] = "teste";
$vObj['id_editoria_pai'] = 0;
$vObj['titulo'] = 'Notícias';
$vObj['descricao'] = 'Tudo que acontece no Estado do Tocantins';
$vObj['tipo'] = 1;
$vObj['status'] = 1;
try {
$query = $conn->prepare($sql);
$query->bindValue(':identificador', $vObj['identificador'], PDO::PARAM_STR);
$query->bindValue(':id_editoria_pai', $vObj['id_editoria_pai'], PDO::PARAM_INT);
$query->bindValue(':titulo', $vObj['titulo'], PDO::PARAM_STR);
$query->bindValue(':descricao', $vObj['descricao'], PDO::PARAM_STR);
$query->bindValue(':tipo', $vObj['tipo'], PDO::PARAM_INT);
$query->bindValue(':status', $vObj['status'], PDO::PARAM_INT);
$query->execute();
} catch (PDOException $e) {
echo $e->getMessage();
}
$strConn->closeDB();
#Código#Código#Código

Artemsite
   - 16 nov 2012

Resolvi o problema, converti os dados string em utf8 antes de fazer o insert

Roniere Almeida
   - 04 dez 2012

podem encerrar este post