2013-03-12 43 views
3

首先,我不知道从哪里开始做这件事。这就是为什么我发布这个问题。也许你们会进行倒票或关闭或举报。MySQL查询获取用户邮件等于某个变量

这是问题所在。

<?php 
    $gmail = "[email protected]" 
    $split = explode('@',$service['User']['email']); 
?> 

上述代码输出具有在其内部两个元素的数组:一个用于dipesh和另一个用于some.com。如预期那样是正确的。

现在我想一个MySQL查询,将执行select query获得记录[email protected]

SELECT * FROM users WHERE users.email LIKE 'dipesh'; 

上面的代码返回所有包含dipesh的记录,但我只想要那些其中包含[email protected]

SELECT * FROM users WHERE users.email LIKE '%dipesh';工作吗?

如果是这样,那么两者有什么区别?

感谢

回答

6

你的PHP代码似乎无关的问题,但它听起来像你想email = '[email protected]',W字面上匹配[email protected]。如果您需要[email protected]后跟任何内容,请使用email LIKE '[email protected]%'%是一个通配符,意思是“匹配零个或多个任何字符”。

+0

Thanx为快速响应,你得到它的权利我想dipesh @ ...所以追加%后queryString意味着只匹配dipesh @ ..? – 2013-03-12 10:48:21

+2

'='dipesh @''只能完全匹配'“dipesh @”'。 ''LIKE'dipesh @%''将匹配''dipesh @“',''[email protected]”'和其他任何与'@'有关的东西,只要它以'dipesh @'开头 – 2013-03-12 10:49:49

+0

Thanx for澄清你真的是爆炸性的家伙......我以为我可能会使用REGEX或其他复杂的MySQL子句,但现在看起来很容易... thanx很多..1000000000000000000 +为你 – 2013-03-12 10:51:43

1

你可能想尝试这种

"SELECT * FROM users WHERE users.email LIKE '[email protected]%'"; 

希望这有助于

+0

Thanx帮助+1为你。 – 2013-03-12 10:53:09

+0

@DipeshParmar:谢谢你 – Roger 2013-03-12 11:02:49

1
SELECT * FROM users WHERE email LIKE '[email protected]%'; 
+0

Thanx for help .. + 1 for you – 2013-03-12 11:04:48

+0

@Dipesh Parmar,你是一个多么仁慈的人:) – Amir 2013-03-12 11:05:39

+1

是啊,我很喜欢帮助和激励人...... – 2013-03-12 11:06:44