それですべてが大丈夫です。データベースとテーブルの名前、列の名前など。$ usernameは適切であり、データベースに存在します。しかし、これを実行した後、$ dbuidを「アラート」すると、0として表示され、$dbusernameは空として表示されます。MySQLiはエラーをスローしません。(そのため、if(!..)echo error;を実行して、何かにエラーがスローされるかどうかを確認しましたが、完全に正常に機能します。)どこが間違っているのでしょうか。
if(!$msmysqli = new mysqli("localhost","root","","ms")){
echo $msmysqli->connect_error;
}
if(!$stmt = $msmysqli->prepare("SELECT id,name,password FROM accounts WHERE name=?")){
echo $msmysqli->error;
}
if(!$stmt->bind_param("s",$username)){
echo $stmt->error;
}
if(!$stmt->execute()){
echo $stmt->error;
}
if(!$stmt->bind_result($dbuid,$dbusername,$dbpassword)){
echo $stmt->error;
}
$stmt->close();