PHP:使用字符串参数时SQL语句中的问题

0 php mysql

$befal = mysql_query("SELECT * FROM users WHERE username = $_GET[username]");
$rad = mysql_fetch_assoc($befal);
Run Code Online (Sandbox Code Playgroud)

等于

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\profile.php on line 4

我在字段用户名中有一个名为Admin的用户,但它仍然无效.profile.php?用户=管理员...

如果我使用ID,这可以工作:

$befal = mysql_query("SELECT * FROM users WHERE user_id = $_GET[id]");
$rad = mysql_fetch_assoc($befal);
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?

谢谢

cle*_*tus 6

呃...这是一个被黑客攻击的秘诀.我想向您介绍SQL注入,其特点是这个非常有趣但令人痛苦的卡通.

试试这个.

$username = mysql_escape_string($_GET['username']);
$query = mysql_query("SELECT * FROM users WHERE username = '$username'");
Run Code Online (Sandbox Code Playgroud)