gpt4 book ai didi

php - 如何从mysqli中获得与mysql_result()中相同的结果?

转载 作者:太空宇宙 更新时间:2023-11-03 12:08:33 25 4
gpt4 key购买 nike

我正在尝试将相同的结果从mysql_result()转换为mysqli

我要用这个

function user_id_from_username() {
$username = sanitize($username);
return mysql_result(mysql_query("SELECT id FROM users WHERE username = '$username'"), 0, 'id');
}


输入为 mysqli

mysql_result()函数具有 string mysql_result ( resource $result , int $row [, mixed $field = 0 ] )此参数。

那么如何使它与 mysqli中的相同?如果mysqli中有任何函数具有所有这些参数,例如 mysql_result()函数要在mysqli中使用。

我知道mysql扩展名将贬值,这就是为什么我要使用mysqli。

更新

我知道如何将数据库连接传递给它,那不是问题。我也试过了。及其工作。

function user_active($username) {
global $con;
$username = sanitize($username);
$result = mysqli_query($con,"SELECT `id` FROM `users` WHERE `username` = '$username' AND `active` = 1");
return (mysqli_num_rows($result) == 1) ? true : false;
}


提前谢谢了。

最佳答案

没有相应的mysqli_result()函数,但这应等效于基于mysql的代码:

function user_id_from_username() {
$username = sanitize($username);
$result = mysqli_query("SELECT id FROM users WHERE username = '$username'");
$row = mysqli_fetch_row($result);
return $row[0];
}


但是您确实应该检查函数调用的返回值,所以我更喜欢这样的事情:

function user_id_from_username() {
$username = sanitize($username);
$id = false; // Return false on database error, or user not found.

if ($result = mysqli_query("SELECT id FROM users WHERE username = '$username'")) {
if ($row = mysqli_fetch_row($result)) {
$id = $row[0];
}
mysqli_free_result($result); // Always free your resources.
}

return $id;
}

关于php - 如何从mysqli中获得与mysql_result()中相同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25330616/

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