私はエラーを取得していますその非マッチングパラメータのMysqli/PHP
警告:mysqli_stmt_bind_param():変数の数が Cでプリペアドステートメント内のパラメータの 数と一致しません:\ wamp64 \ WWW \ライン上でのテストの\ view.php 17
誰もが、私はそれが一致見ることができるので、私は間違ってやっているかを見ることができます
<?php
$connect = mysqli_connect("localhost", "user", "pass", "db");
if(mysqli_connect_error()){
echo mysqli_connect_error();
exit();
}
$query = "SELECT id, username, password FROM users";
$stmt = mysqli_prepare($connect, $query);
if($stmt){
mysqli_stmt_bind_param($stmt,"iss",$id, $username, $password);
mysqli_stmt_bind_result($stmt,$id, $username, $password);
mysqli_stmt_execute($stmt);
mysqli_stmt_fetch($stmt);
echo "ID: ".$id. "Username: ".$username."Password: ".$password;
}
?>
あなたは、クエリ内の任意のプレースホルダを持っていません。準備された声明がどのように機能するかを理解していますか? –
これらの変数 '$ id、$ username、$ password'のどこで値を取得しましたか? –
はい。あなたは準備された声明がどのように働くか全く理解していません。 http://bobby-tables.com - ここを見てください。 実際には、プレースホルダがないため、何の理由もなく変数にクエリをバインドしようとしています。 また、クエリを実行する前に結果をバインドしようとします。一歩前に戻って、 'mysqli_ *'がどのように動作するかについてのチュートリアルを読んで理解してください。実際には、あなたはそれを全く理解していません(それは問題ではありません。速くなるでしょう)が、今は本当にそれを学ぶことをお勧めします。あなたのコードを書き直すと、それはあなたを助けません。 – Twinfriends