gpt4 book ai didi

php - mysql_result 变成更高级的 mysqli 函数

转载 作者:行者123 更新时间:2023-11-30 23:23:38 24 4
gpt4 key购买 nike

我正在将我的小项目从 MYSQL 数据库升级到 MYSQLi,我只剩下 3 个函数要更新。

这是我在 MYSQL 中的函数:

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

我有这段代码,我试图将其迁移到上面的函数中,但没有用:

$result = "SELECT * FROM `settings`";
if (!$row = $db_connect->query($result)) {
die('Oops, something went wrong during loading data! Error x010');
}

我知道我应该公开我尝试过的代码,但问题是我真的不知道如何将 MYSQLi 迁移到那个特定的函数中,而且我知道代码是错误的如果可以这么说的话,在所有可能的方面。

最佳答案

那么你可以试试这个来迁移:
https://github.com/colshrapnel/safemysql/blob/master/safemysql.class.php

首先,在脚本中较早的地方连接:

include 'safemysql.class.php';
$opts = array(
'user' => 'user',
'pass' => 'pass',
'db' => 'db',
'charset' => 'latin1',
);
$db = new SafeMySQL($opts);

然后这样写你的函数

function id_from_username($username) 
{
global $db;
return $db->getOne("SELECT id FROM members WHERE username = ?s", $username);
}

请注意,这不是纯 mysqli,而是基于它构建的自定义库。
最重要的区别是每个占位符都必须根据它们在查询中的角色来标记它的类型。例如。对于字符串 $username 使用了字符串占位符 (?s)。

关于php - mysql_result 变成更高级的 mysqli 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14363625/

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