PHP查询无法使用bindParam但查询确实可以自行运行

时间:2017-02-19 21:38:58

标签: php mysql bindparam

我试图在mySQL数据库中插入信息,我得到了WSOD并出现了这个错误:

  

PHP致命错误:在a上调用成员函数bindParam()   非客体......

这是代码:

try {
        $conectar1 = new PDO('mysql:host='.HOST.'; dbname='.DATABASE.'; charset=utf8', USER, PASS); 

    $guardarPost = $conectar1->query("
        INSERT INTO foro 
        (userID, estadoPost, asuntoPost, postUltimo, datosPost)
        VALUES (?, ?, ?, ?, ?)
    ");
    $guardarPost->bindParam(1, $userID); <============ ERROR LINE
    $guardarPost->bindParam(2, $estadoMensaje);
    $guardarPost->bindParam(3, $asuntoPost);
    $guardarPost->bindParam(4, $fechaMensaje);
    $guardarPost->bindParam(5, $datosPost);
    $ok = $guardarPost->execute();
} catch (PDOException $e) {
    echo "Error ".$e->getMessage();
}

我已经尝试剥离所有内容以检查数据库连接的工作情况,确实如此。

我已经尝试手动输入查询到phpMyAdmin替换文本的问号,它确实有效。

问题出在哪里?

1 个答案:

答案 0 :(得分:1)

尝试print_r($conectar1->errorInfo());

也可以使用prepare()代替query()来使用bindParam() s