Php mysqli_查询不';不提供电子邮件查询的结果

Php mysqli_查询不';不提供电子邮件查询的结果,php,mysqli,Php,Mysqli,我在phpmyadmin中有一个数据库,我试图从中查询电子邮件字段,但它似乎不起作用。电子邮件字段类型为varchar,它们包含@特殊字符:example@domain.com我也尝试从phpmyadmin控制台进行查询,但没有成功 Im使用以下mysqli_查询获取特定字段: 例如:$email=”example@domain.com“ $match变量返回0,这意味着查询工作,但不返回任何结果,但我的数据库包含多个特定电子邮件条目。我猜这和@special字符有关,但不是很确定。在sql语句

我在phpmyadmin中有一个数据库,我试图从中查询电子邮件字段,但它似乎不起作用。电子邮件字段类型为varchar,它们包含
@
特殊字符:
example@domain.com
我也尝试从phpmyadmin控制台进行查询,但没有成功

Im使用以下mysqli_查询获取特定字段:

例如:
$email=”example@domain.com“


$match变量返回0,这意味着查询工作,但不返回任何结果,但我的数据库包含多个特定电子邮件条目。我猜这和@special字符有关,但不是很确定。

在sql语句中使用like关键字,如下所示

$qres = mysqli_query($conn, "SELECT * FROM users WHERE email like '%$email%'");

您如何读取该查询返回的信息?查询本身看起来很好,这应该不会造成问题。请切换到以防止SQL注入。数据库中可能没有任何电子邮件匹配,特别是如果您在phpadmin中尝试使用相同的结果,@character绝对没有问题。通过实际测试,你会看到that@mohsenaliazadeh:问题在于@character,因为在没有@character的正常条目中,查询可以正常工作。是否有办法插入电子邮件(例如:example@domain.com)在数据库中并检索它们?我只是试了一下你的方法,但它不起作用。@TutsekRobert请控制你的想象力。@TutsekRobert你的常识我知道有很多天才程序员和你一样,逻辑和想象力都很棒,我不是他们中的一员,不幸的是,很抱歉用这段代码侮辱你。。。尝试了一半代码,结果相同0。我找到了解决方案:)我无法发布,因为我是这里的新手,但问题与数据库相关。我将电子邮件字段的排序规则设置留空,将其设置为默认的
latin1\u-sweedish
latin/sweedish字符集。。。我把它改成了
utf8\u unicode\u ci
,效果非常好:)谢谢你的回答@TutsekRobert电子邮件中允许的所有符号在拉丁文1和utf-8中完全相同。所以,这一次又错过了。
$qres = mysqli_query($conn, "SELECT * FROM users WHERE email like '%$email%'");