经过其他人的大量推荐,我决定从 mysql_ 切换到 PDO。大约 15 分钟前,我从字面上开始研究 PDO,但我一直在尝试将这行代码转换为 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();
我遇到的问题是代码行的第二部分——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;
我可能在几英里之外,但我很感激你给我的帮助:) 我会再做几次搜索。