他の人からの多くの推奨の後、mysql_ から PDO に切り替えることにしました。私は PDO を文字通り約 15 分前に見始めましたが、このコード行を PDO 形式に変換しようとして立ち往生しています。
function verify_user($username, $recover_password) {
return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username' AND `password_recovery` = '$recover_password'"), 0) == 1) ? true : false;
}
私はいくつかのチュートリアルを見てきましたが、うまくいく限り、このコードで実際のクエリを実行できます。
$verify_user = "SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username' AND `password_recovery` = '$recover_password'";
$result = $con->prepare($verify_user);
$result->execute();
私が抱えている問題は、コード行の 2 番目の部分である mysql_result です。クエリが実行されたので、PDO を使用して true または false を返す方法がわかりません。助けていただければ幸いです。ありがとう!
更新しました:
$result = $con->prepare("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = :username AND `password_recovery` = :recover_password");
$result->bindParam(':username', $username, PDO::PARAM_STR);
$result->bindParam(':password_recovery', $recover_password, PDO::PARAM_STR);
$result->execute();
あなたが提供したそのページを読むと、次のようになります。
$result = $con->prepare("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = :username AND `password_recovery` = :recover_password");
$result->bindParam(':username', $username, PDO::PARAM_STR);
$result->bindParam(':password_recovery', $recover_password, PDO::PARAM_STR);
$result->execute();
return ($con->fetch($result) == 1) ? true : false;
私はおそらく何マイルも離れていますが、あなたが私に与えてくれた助けに感謝しています:)私はさらにいくつかの検索を行います.