【发布时间】:2015-12-17 14:58:01
【问题描述】:
我对php语言很陌生,才一周才开始。
我正在为登录/注销/用户注册/重置密码演示用 php 编写代码。我使用 mysql 进行了一些编码,现在我需要将其转换为 mysqli。请帮忙?!!
原代码:
function user_exists($username) {
$query= mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username`='$username'")
return (mysql_result($query, 0) == 1) ? true : false;
}
这是一个函数,它应该查看输入的用户名 ($username) 是否已经存在于数据库 (lr) 中,如果已经存在则返回 true。计算输入的用户名对应的表(users)中是否有user_id;如果值为 1,则该函数应返回 true(表示用户名已存在),否则该函数应返回 false。
我在将其转换为 mysqli 时遇到问题。这是我到目前为止所做的: 转换后的代码:
$con=mysqli_connect('localhost','root','root','lr');
function user_exists($username) {
$row = mysqli_fetch_array(mysqli_query($con, "SELECT COUNT(`user_id`) FROM `users` WHERE `username`='$username'"));
return ($row[0] = 1) ? true : false;
}
我尝试做同样的事情,但由于我不知道如何将 mysql_result 转换为 mysqli 编码,我尝试创建一个名为“row”的变量(数组)并将计数的 user_id 的数量插入其中。然后,我尝试将存储在 $row[0] 中的值与 1 进行比较。如果存储的值为 1,则表示用户存在并且函数应该返回 true,否则返回 false。该功能似乎无法正常工作,因为我收到的一些奇怪结果与我从原始编码中收到的结果不同。任何想法如何更正转换后的代码?!!。
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
我遇到问题的另一个代码如下, 原代码:
function user_id_from_username($username){
return mysql_result(mysql_query("SELECT `user_id` FROM `users` WHERE `username`='$username'"), 0, 'user_id');
}
此函数应返回与输入的 $username 对应的 user_id。我尝试将其转换为如下所示,但仍然遇到一些错误。
转换后的代码:
function user_id_from_username ($username) {
$row = mysqli_fetch_array(mysqli_query($con, "SELECT `user_id` FROM `users` WHERE `username`='$username'"));
return $row[0];
}
有什么想法吗?!!!
【问题讨论】: