gpt4 book ai didi

php - 查询在 sql 中有效,但在 php 中无效

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

我有以下在 sql 中有效的查询

SELECT *
FROM `dsrequest`
WHERE dsrequeststatusID NOT IN ('4', '5', '6')
AND CASE
WHEN ('Κ' REGEXP '^[0-9]+$') THEN
dsrequestClientAfm LIKE 'Κ%'
ELSE
( dsrequestClientFirstName LIKE 'Κ%' OR dsrequestClientLastName LIKE 'Κ%' OR dsrequestClientEmail LIKE 'Κ%' )
END

但是当我使用变量而不是“K”将它放在 php 中时,给出了错误的结果集,这似乎是部分根本不起作用的地方。我得到 dsrequestStatusID 为 4 的记录,这不应该是这种情况。

这是我在 php 中使用的查询:

$this->db->query("SELECT *
FROM `dsrequest`
WHERE dsrequeststatusID NOT IN ('4', '5','6')
AND CASE
WHEN ('$searchString' REGEXP '^[0-9]+$') THEN
dsrequestClientAfm LIKE '$searchString%'
ELSE
( dsrequestClientFirstName LIKE '$searchString%' OR dsrequestClientLastName LIKE '$searchString%' OR dsrequestClientEmail LIKE '$searchString%' )
END");

谁能找出错误?

更新:

根据建议我设法打印了查询,结果是一样的

SELECT * FROM `dsrequest` 
WHERE dsrequeststatusID NOT IN ('4', '5','6')
AND CASE
WHEN ('Κ' REGEXP '^[0-9]+$') THEN
dsrequestClientAfm LIKE 'Κ%'
ELSE
( dsrequestClientFirstName LIKE 'Κ%' OR dsrequestClientLastName LIKE 'Κ%' OR dsrequestClientEmail LIKE 'Κ%' )
END

任何人都可以发现我无法发现的任何差异?正则表达式是问题吗? sql和php有什么区别吗?

最佳答案

抱歉给大家添麻烦了。问题出在我的 codeigniter 代码的其他地方,而不是查询。一旦我解决了这个问题,查询现在就像一个魅力。

关于php - 查询在 sql 中有效,但在 php 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34117977/

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