2

他の人が投稿した多くの質問を検索しましたが、コードの何が問題なのかまだわかりません。私が見つけたのと同じように見つけることができるものはあまりなく、ほとんどがOOメソッドにあります。

私はこれを試しました:

$query = "SELECT * FROM userinfo WHERE (username = '?')";

if($stmt = mysqli_prepare($mysqli, $query))
{
    mysqli_stmt_bind_param($stmt, "s", $login_username);
    mysqli_stmt_execute($stmt);

}

と:

$query = "SELECT re_password FROM userinfo WHERE (username = '?')";

if($stmt = mysqli_prepare($mysqli, $query))
{
    mysqli_stmt_bind_param($stmt, "s", $login_username);
    mysqli_stmt_execute($stmt);

}

そして、私はまだこのメッセージを受け取ります: mysqli_stmt_bind_param() [function.mysqli-stmt-bind-param]: Number of variables does not match number of parameters in prepare statement

私は真剣に大きな助けが必要です。以前は mySQL で行っていましたが、ステートメントの準備方法について知らないか、まったくわかりません。現在、mySQLi を独学で学びながら、prepare ステートメントを使用してコーディングする方法を学んでいます。説明書をいくら見てもわかりません。

また、オブジェクト指向または手続き型の方法でコーディングすることの好みや長所/短所はありますか?

みんなありがとう!

4

1 に答える 1

3

「?」を置き換えてみてください。と ?:

$query = "SELECT * FROM userinfo WHERE username = ?";

if($stmt = mysqli_prepare($mysqli, $query))
{
    mysqli_stmt_bind_param($stmt, "s", $login_username);
    mysqli_stmt_execute($stmt);

}
于 2012-12-13T07:28:17.503 に答える