gpt4 book ai didi

php - 如何替换 mysql_result 来实现简单的登录系统

转载 作者:行者123 更新时间:2023-11-29 08:14:07 25 4
gpt4 key购买 nike

当我尝试在代码中用 mysqli_* 替换 mysql_* 时遇到了一些麻烦。除了 mysql_result 之外,一切正常。我一直在寻找答案,但我是初学者,所以我在理解上遇到了很多困难。似乎 mysqli_result 不存在或至少不起作用。

我当前的登录代码,其中 mysql_result 如下所示:

if (isset($_POST['submit'])){

$sql = "SELECT membersid FROM members
WHERE user='{$_POST['user']}'
AND pass='{$_POST['passwd']}'";
$result = query($con, $sql);

// If not username or password found, return to index.
if (mysqli_num_rows($con, $result) == 0){
header("Location: index.php?badlogin=");
exit;
}

// Unique index for session.
$_SESSION['sess_id'] = mysql_result($result, 0); //Here is my problem
$_SESSION['sess_user'] = $_POST['user'];
header("Location: hem.php");
exit;
}

// Logout.
if (isset($_GET['logout'])){
$_SESSION = array();
session_destroy();
header("Location: index.php");
exit;
}

它不能按原样工作。我收到“用户名或密码不正确”。但在我开始用 mysqli 替换 mysql 之前它就起作用了。我的问题是,如何替换 mysql_result 代码以使这部分脚本正常工作?

最佳答案

假设您的查询方法使用 mysqli,那么 $result 可能是 mysqli_result目的。您可以使用以下方法获取行和字段:

$row = $result->fetch_array();
$_SESSION['sess_id'] = $row[0];

说明:

$resultmysqli_result代表查询结果的对象。
对此调用 fetch_array() 将返回结果的下一行(如果没有更多行,则返回 false)。因此,这会将单行作为数组放入 $row 变量中。
最后,我们使用 $row[0] 获取该行中的第一列。

关于php - 如何替换 mysql_result 来实现简单的登录系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20950872/

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