gpt4 book ai didi

php - 无法在准备好的语句中比较来自 mysql 的值

转载 作者:行者123 更新时间:2023-11-29 15:04:18 24 4
gpt4 key购买 nike

我似乎无法让它连接到数据库,以便我可以运行我准备好的语句。有人知道我忘记了什么吗?

private function check_credentials($plain_username, $password)
{
global $dbcon;

$ac = new ac();
$ac->dbconnect();
$userid = $dbcon->prepare('SELECT id FROM users WHERE username = :username AND password = :password LIMIT 1');
$userid->bindParam(':username', $plain_username);
$userid->bindParam(':password', $password);
$userid->execute();

$id = $userid->fetch();
Return $id;
}

编辑:我将 SQL 查询从 SELECT FROM 查询更改为 INSERT INTO 查询,并且它有效。这到底是怎么回事?

最佳答案

重新格式化堆栈回溯:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: no parameters were bound' in E:\PortableApps\xampp\htdocs\SN\AC\ACclass.php:61
Stack trace:
#0 E:\PortableApps\xampp\htdocs\SN\AC\ACclass.php(61): PDOStatement->execute(Array)
#1 E:\PortableApps\xampp\htdocs\SN\AC\ACclass.php(34): ac->check_credentials('joe', '94a02c32b6ff629...')
#2 E:\PortableApps\xampp\htdocs\SN\UI\UIclass.php(17): ac->authentication()
#3 E:\PortableApps\xampp\htdocs\SN\index.php(4): ui->start()
#4 {main} thrown in E:\PortableApps\xampp\htdocs\SN\AC\ACclass.php on line 61

您在 check_credentials 函数中实例化新的 ac 对象有什么原因吗?鉴于 check_credentials 已经是 ac 的方法,这看起来很奇怪。 dbconnect 是否会覆盖全局 dbcon

关于php - 无法在准备好的语句中比较来自 mysql 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2503578/

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