PHP和MYSQL - 查询变量

时间:2011-07-04 03:11:07

标签: php mysql sql

好的,我有这个PHP $ _POST ['username']变量,我需要通过MYSQL查询用户的所有内容。唯一的问题是它一直让我犯错误。

类似

$user = $_POST['username'];
$query = mysql_query("SELECT * FROM user WHERE username = $user");

我试过

$query = mysql_query("SELECT * FROM user WHERE username = `$user`");
$query = mysql_query("SELECT * FROM user WHERE username = ".$user);

不确定我做错了什么。

3 个答案:

答案 0 :(得分:1)

$user = $_POST['username'];
$query = ('SELECT * FROM user WHERE username LIKE "' . $user . '"');

答案 1 :(得分:1)

您的问题是SQL中的字符串需要用单引号括起来。

最优选的方法是使用PDO。但sprintf(以及mysql_real_escape_string)是一个更好的临时方法,可以发布:

$query = sprintf("SELECT u.* 
                    FROM USER u
                   WHERE u.username = '%s'",
                  mysql_real_escape_string($_POST['username']));

$result = mysql_query($query);

以免忘记Little Bobby Tables;)

答案 2 :(得分:0)

使用此:

$query = mysql_query("SELECT * FROM user WHERE username = '$user'");