PHP MYSQLiスクリプトに少し問題があります - 私が関数を実行するたびに、別の値を返す条件を満たしていても、常に戻り値0が返されます。私のコードはテーブルからデータを収集することに失敗しているように見えますが、私はその理由を理解できません。ここに私のコード:私のコードはなぜ0を返し続けますか?
function updatePassword($username, $oldPass, $newPass, $newPassConf, $mysqli){
if($stmt = $mysqli->prepare("SELECT password FROM members WHERE email = ?")){
$username = 'user'; //Temp value just to test the statement
$stmt->bind_param('s', $username);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($dbOldPass);
$stmt->fetch();
}
else{
return 0; // Failed to retrieve pw from DB
}
if($dbOldPass == $oldPass){
if($newPass == $newPassConf){
if($stmt = $mysqli->prepare('UPDATE members SET password=? WHERE username=?')){
$stmt->bind_param('ss', $newPass, $username);
$stmt->execute();
return 1; // Success
}
}else{
return 2; // Password and PW confirmation are wrong
}
}
}
あなたが与えることができるかもしれない任意のヘルプの事前に感謝!
は 'のように見えます$ mysqli-> prepare() 'が失敗しています。正しく接続しましたか? –
@ Praveen-Kumarこんにちは、私はそう信じています - 私は他の多くの関数で同じ$ mysqli変数を使用しました。私はコピーし、コード内の他の関数から同様の仕事を実行するコードを貼り付けてみましたが、私はまだ同じエラーが発生します。 – Liton12
エラー報告、それを使用してください。あなたの質問は失敗し、あなたはその理由を知る必要があります。それとクエリの 'mysqli_error()'。 –