我試圖插入信息insto一個MySQL數據庫和我得到的WSOD與此錯誤:PHP查詢不bindParam工作,但查詢不工作本身
PHP Fatal error: Call to a member function bindParam() on a non-object ...
這是代碼:
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的取代問號的文本,它的工作。
問題在哪裏?
您需要使用' - >準備()''不 - >查詢()'使用' - > bindParam()'。 ['PDO :: query()在單個函數調用中執行SQL語句](http://php.net/manual/en/pdo.query.php)vs ['PDO :: prepare準備執行語句並返回一個語句對象](http://php.net/manual/en/pdo.prepare.php) – Sean