好的,我有这个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);
不确定我做错了什么。
答案 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'");