gpt4 book ai didi

php - 奇怪的准备语句错误

转载 作者:行者123 更新时间:2023-11-29 05:35:40 25 4
gpt4 key购买 nike

这是我的陈述的样子。

               $stmt = $this->db->prepare("
select q.id
from questions q
left outer join (
select max(chk_date) as questions_last_chk_date
FROM last_check_date
where user_id = ?
AND chk_token=?) lcd
on q.add_dt > lcd.questions_last_chk_date
WHERE q.author_id<>?
") or die($this->db->error);
$stmt->bind_param("isi", $_SESSION["userID"], "q", $_SESSION["userID"]) or die($stmt->error);

我有两个问题

1) 获取错误信息

fatal error :无法通过引用传递参数 3

为什么会出现这个错误?顺便说一句,我知道 last_check_date 表是空的,但我认为它与这个问题无关。

2) 在 Windows 上,获取错误消息表 last_check_date 不存在,但我 100% 知道没有拼写错误,并且表存在。我用 Navicat - db amanger application 尝试了相同的查询并得到了结果。但是当我尝试使用 PHP 时出现此错误。在远程 Linux 服务器上它工作,并收到问题 1 中的错误消息。尝试重新启动 mysql 服务,重命名为其他名称并将名称更改回以前的名称。没有成功!我该如何解决这个问题?

最佳答案

您必须将q 放入一个变量中。

仅供引用,尽量不要使用等于表别名或引用的字符串值。当您有一个别名为 q 的表时,您正在传递 q 的值。这不是一个错误,但如果您需要回显您的查询,可能会非常困惑。

关于php - 奇怪的准备语句错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10885801/

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