gpt4 book ai didi

php - 一个语句中有多个之间

转载 作者:行者123 更新时间:2023-11-29 06:20:02 25 4
gpt4 key购买 nike

"SELECT * FROM reservation  WHERE roomnum = {$room['roomnum']} 
AND roomtype = {$room['roomtype']}
AND (dateout NOT BETWEEN '$start' AND '$end'
OR datein NOT BETWEEN '$start' AND '$end')"

当我运行此查询时,出现以下错误:

您的 SQL 语法有误;

check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND (dateout NOT BETWEEN '2010-11-22' AND '2010-11-30' OR datei' at line 3

我已经尝试重新格式化此查询一段时间(使用 () 并删除 NOT BETWEEN 语句之前的语句)。最终结果始终是语法错误。运行两次之间有问题吗?

谢谢,瑞安

最佳答案

我认为你可能必须通过转储完整的 sql 来开始调试这种错误,并在你不明白为什么它不起作用时使用 mysql 客户端自己尝试。

我愿意

$sql = "SELECT * FROM reservation  WHERE roomnum = {$room['roomnum']} 
AND roomtype = {$room['roomtype']}
AND (dateout NOT BETWEEN '$start' AND '$end'
OR datein NOT BETWEEN '$start' AND '$end')";

var_dump($sql);

我认为问题出在哪里是显而易见的。

另外,就像我在评论中所说,如果您不转义 $room 数组,此代码将受到 sql injection 的影响。漏洞。你最好使用一些参数化查询,为你的reference 。另外,在我看来,准备好的语句性能更好,并使代码更具可读性。

关于php - 一个语句中有多个之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4301366/

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