gpt4 book ai didi

php - 需要帮助将代码从mysql转换为mysqli

转载 作者:搜寻专家 更新时间:2023-10-30 23:41:40 25 4
gpt4 key购买 nike

我对php语言很陌生,只从一周开始。
我正在用php编写一个登录/注销/用户注册/重置密码演示代码。我使用mysql编写了一些代码,现在需要将其转换为mysql i。请帮忙?!!
原始代码:

function user_exists($username) {
$query= mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username`='$username'")
return (mysql_result($query, 0) == 1) ? true : false;
}

如果输入的用户名($用户名)已经存在于数据库(LR)中,如果已经存在,返回true,则这是一个函数。如果表中的用户用户名(用户)与输入的用户名对应,则计数,如果值为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转换为mysql i编码,所以我尝试创建一个名为“row”的变量(数组),并在其中插入已计数的用户id数。然后,我试图将存储在$row[0]中的值与1进行比较。如果存储值为1,则意味着用户存在,函数应该返回true,否则为false。这个函数似乎不能正常工作,因为我收到了一些奇怪的结果,不同于我从原始编码收到的结果。知道如何更正转换后的代码吗?!!是的。
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
我面临的另一个问题是:
原始代码:
function user_id_from_username($username){
return mysql_result(mysql_query("SELECT `user_id` FROM `users` WHERE `username`='$username'"), 0, 'user_id');
}

此函数应返回与输入的$username对应的用户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];
}

有什么想法吗?!!啊!

最佳答案

在函数外部定义连接,因此在函数中未定义$con。你可以的

function user_exists($username) {
$con=mysqli_connect('localhost','root','root','lr');
$row = mysqli_fetch_array(mysqli_query($con, "SELECT COUNT(`user_id`) FROM `users` WHERE `username`='$username'"));
return ($row[0] == 1) ? true : false;
}


$con=mysqli_connect('localhost','root','root','lr');
function user_exists($username) {
global $con;
$row = mysqli_fetch_array(mysqli_query($con, "SELECT COUNT(`user_id`) FROM `users` WHERE `username`='$username'"));
return ($row[0] == 1) ? true : false;
}

或者在调用函数时传递连接并更新函数参数。
user_exists($username, $con);
...
function user_exists($username, $con) {

您还应该研究使用准备好的语句; http://php.net/manual/en/mysqli.quickstart.prepared-statements.php
有关变量作用域的更多信息,请参见 http://php.net/manual/en/language.variables.scope.php
还要注意,需要 ==进行比较, =设置值。

关于php - 需要帮助将代码从mysql转换为mysqli,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34337641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com