2017-02-19 4 views
0

問合せは、自分自身で仕事をして、私はWSODを取得し、このエラー:PHPクエリはbindParamで作業していないが、私は、MySQLデータベースinsto情報を挿入しようとしている

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(); 
} 

私はDB接続作業をチェックするためにすべてをストリッピングしようとしました。

私はphpMyAdminに手動で質問を入力しようとしましたが、テキストの疑問符を置き換えても機能します。

問題はどこですか?

+3

を使用するprepare()の代わりquery()を使用しています。 ['PDO :: query()は単一の関数呼び出しでSQL文を実行する'](http://php.net/manual/en/pdo.query.php)vs ['PDO :: prepare実行のための文を準備する文オブジェクトを返す '](http://php.net/manual/en/pdo.prepare.php) – Sean

答えて

1

Try print_r($conectar1->errorInfo()); `> bindParam() - >準備()`ではない ` - - >クエリ()` `を使用することを

もあなたは`使用する必要がbindParam()

+0

それはそれだった:質問の代わりに準備を使うのを忘れてしまった!ありがとう!私はそれをやり遂げるときに数分で答えを受け入れます。 :) – Rosamunda

関連する問題