gpt4 book ai didi

mysql - 在 WHERE 子句中使用 NOT LIKE

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

用户表如下,

name  | username    | email 
---------------------------------
Joe | joe | joe@mail.com
---------------------------------
John | ABC\john | john@abc.com
---------------------------------
Kate | kate | kate@mail.com
---------------------------------
Ron | ABC\ron | ron@abc.com
---------------------------------

mySQL 查询从表中选择用户名不以“ABC\”开头的表中的所有字段。由于用户使用事件目录凭据登录到应用程序,因此用户名存储在域\用户名中(例如:ABC\用户名)。我尝试创建查询,但它不起作用。

Select * from User where username NOT LIKE 'ABC\\\\%_'

但不起作用。它正在拉取所有用户记录。

name  | username    | email 
---------------------------------
Joe | joe | joe@mail.com
---------------------------------
John | ABC\john | john@abc.com
---------------------------------
Kate | kate | kate@mail.com
---------------------------------
Ron | ABC\ron | ron@abc.com
---------------------------------

但我需要用户名不以“ABC\”开头的用户。

name  | username    | email 
---------------------------------
John | ABC\john | john@abc.com
---------------------------------
Ron | ABC\ron | ron@abc.com
---------------------------------

我尝试根据电子邮件地址进行过滤,如下所示,它工作正常

Select * from User where email NOT LIKE '_%@abc.com' 

我是查询的新手,可以设法编写简单的查询,但是我不确定我是否遵循了正确的方法。

最佳答案

您的查询对我来说没问题。我认为您的问题是在将成为您的查询的字符串中使用反斜杠。

            $not_like= "ABC\\%";
$statement = $db->prepare("SELECT * FROM `User` WHERE `email` NOT LIKE ?");
$statement->bind_param('s', $not_like);
$statement->execute();
$result = $statement->get_result();
while($get_users = $result->fetch_assoc()) {
echo($get_users['username']);
}
$result2->free();

关于mysql - 在 WHERE 子句中使用 NOT LIKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31428666/

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