2011-01-08 18 views
2

このエラーが発生しました:このコードを実行するたびに変数の数がプリペアドステートメントのパラメータの数と一致しませんPrepared statement help、変数の数がプリペアドステートメントのパラメータの数と一致しません

$dbh = new mysqli("localhost", "***", "***", "pics"); 
    $stmt = $dbh->prepare("INSERT INTO comments (username, picture, comment) VALUES (?, ?, ?)"); 
    $stmt->bind_Param('s', $username); 
    $stmt->bind_Param('d', $picture); 
    $stmt->bind_Param('s', $comment); 

    $username=$_SESSION['username']; 
    $picture=$_GET['id']; 
    $comment=$_POST['comment']; 
    $stmt->execute(); 

どうしたのですか?

答えて

2

は1つのbindParam呼び出しにすべてのパラメータを入れてみてください:

$stmt->bind_Param('sds', $username, $picture, $comment); 
+0

私はあなたのポスト –

+0

@colに補遺を削除することをお勧めしてみましょう。破片? – lonesomeday

+0

不明な点は?それは動作し、それは答えです。追加されたセクションは質問とは関係ありません。はい、タイプを確認する必要がありますが、それは原因ではありません。 –

関連する問題