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