对于mysql_query(),如果我使用=而不是'%$ variable%',则不会显示记录

时间:2013-12-20 08:25:40

标签: php mysql

好吧,在我的用户个人资料页面中,我试图通过跟踪mysql查询从db获取用户记录。但它不起作用:

Mysql查询(不工作):

$sql =  mysql_query("select fname, email, find from users where email = '$username'");

但它运作正常:

Mysql查询(工作):

$sql =  mysql_query("select fname, email, find from users where email = '%$username%'");

为什么?

好的,如果你说%是好的那么我还有另一个问题就是我要更新用户个人资料页面以便我使用以下mysql查询:

UPDATE users SET fname = '$uname', find = '$find' WHERE email LIKE '%$username%'

但是在运行此查询后,它会更新所有数据库表行。

我应该知道什么?什么是正确的mysql_query?

2 个答案:

答案 0 :(得分:0)

更改自:

$sql =  mysql_query("select fname, email, find from users where email = '$username'");

$sql =  mysql_query("select fname, email, find from users where email = ".$username);

答案 1 :(得分:0)

这也是一个正确的sql,仅用于我们获取数据时

$sql =  mysql_query("select fname, email, find from users where email = '%$username%'");

喜欢(%%)$ username ='manish'    当您搜索电子邮件'%$ username%'时 那么它将返回所有电子邮件都有“manish”字符串

的地方

manish@yahoo.com manishpatel@yahoo.com 雅虎@ manish.com``

但是当您使用条件更新任何数据时则是敏感的,所以使用sql之类的 我们更新数据时使用Rigt SQL

 UPDATE users SET fname = '$uname', find = '$find' WHERE email = '".$username."'