MySQL查询以获取用户电子邮件等于某个变量的位置

Dip*_*mar 3 php mysql sql-like

首先,我不知道从哪里开始这样做.这就是我发布这个问题的原因.也许你们可以选择投票或关闭或举报.

这是问题所在.

<?php
    $gmail = "dipesh@some.com"
    $split = explode('@',$service['User']['email']);
?>
Run Code Online (Sandbox Code Playgroud)

上面的代码输出一个数组,里面有两个元素:一个用于dipesh,另一个用于some.com.这是正确的预期.

现在我想要一个MySQL将执行select query记录的查询dipesh@.

SELECT * FROM users WHERE users.email LIKE 'dipesh';
Run Code Online (Sandbox Code Playgroud)

上面的代码返回包含的所有记录dipesh,但我只想要包含的记录dipesh@.

有用SELECT * FROM users WHERE users.email LIKE '%dipesh';吗?

如果确实如此,两者之间有什么区别?

谢谢

Exp*_*lls 6

您的PHP代码似乎与您的问题无关,但它听起来像您想要的email = 'dipesh@',dipesh@字面上匹配.如果你想要dipesh@任何东西,请使用email LIKE 'dipesh@%'.这%是一个通配符,意思是"匹配任何字符的零或更多".

  • `='dipesh @'`只会匹配'"dipesh @"`."LIKE"dipesh @%'`将匹配`"dipesh @"`,`"dipesh@some.com"`,以及"@"之后的任何其他内容,只要它以`dipesh @`开头即可 (2认同)

ech*_*_Me 5

试试这个

   SELECT * FROM users WHERE users.email LIKE 'dipesh@';
Run Code Online (Sandbox Code Playgroud)

如果你想dipesh@跟随其他任何东西

用这个

    SELECT * FROM users WHERE users.email LIKE 'dipesh@%';
Run Code Online (Sandbox Code Playgroud)