我正在尝试更新这部分旧的MySQL代码,以便与MySQLi一起运行。我知道MySQL_return function被删除了,我尝试过一些东西,但不太确定如何将这段代码转换为使用MySQLi运行?如有任何意见或帮助,将不胜感激。
function user_id_from_username($email_address, $conn) {
return mysql_return(mysqli_query($conn, "SELECT `userid` FROM `users` WHERE `email_address` = '$email_address'"), 0, 'userid');
}
function login($email_address, $password, $conn) {
$userid = user_id_from_username($email_address);
$password = md5($password);
return (mysql_return(mysqli_query($conn, "SELECT COUNT(`userid`) FROM `users` WHERE `email_address` = '$email_address' AND `password` = '$password'"), 0) ==1) ? $userid : false;
}我曾尝试过这样的编辑:
function user_id_from_username($email_address, $conn) {
return mysqli_fetch_assoc(mysqli_query($conn, "SELECT `userid` FROM `users` WHERE `email_address` = '$email_address'"), 0, 'userid');
}
function login($email_address, $password, $conn) {
$userid = user_id_from_username($email_address);
$password = md5($password);
return (mysqli_fetch_assoc(mysqli_query($conn, "SELECT COUNT(`userid`) FROM `users` WHERE `email_address` = '$email_address' AND `password` = '$password'"), 0) ==1) ? $userid : false;
}但没有运气。有什么建议或例子吗?
发布于 2015-05-02 18:17:10
如果查询成功执行,$mysqli->query();方法将返回一个$mysqli_result,否则将返回FALSE。然后,您可以调用fetch_assoc();从查询中获取第一行。结果数组将以关联数组的形式出现。下面是一些您应该阅读的文档:http://php.net/manual/en/mysqli.query.php和http://php.net/manual/en/mysqli-result.fetch-assoc.php
function getIdFromEmail($email) {
$emailSanitized=mysqli_real_escape_string($email);
$mysqli=new mysqli("host","user","password","dbName");
$res=$mysqli->query("SELECT `userid` FROM `users` WHERE `email_address`='$emailSanitized'");
$retArray=$res->fetch_assoc();
return $retArray['userId'];
}https://stackoverflow.com/questions/30005544
复制相似问题