好的,我在PHP中有两个变量
$username;
$password;
Run Code Online (Sandbox Code Playgroud)
它被初始化为从$ _POST变量中检索的数据:)
我有这个SQL查询
$sql = "SELECT * FROM users WHERE username = '" . $username . "' AND password = '" . $password . "')";
Run Code Online (Sandbox Code Playgroud)
但这不起作用,并没有给我任何回报:(
你能指导我走向正确的方向吗?请?
它出什么问题了?
不幸的是,一切.特别是它对SQL注入攻击持开放态度.
如果这是一个逐字剪切和粘贴,那么它实际上不工作的原因是一个尾随的结束括号.大概你在打电话时没有检查错误?
使用基础MySQL API应该是:
$sth = $db->prepare("SELECT COUNT(*) FROM users WHERE username = ? AND password = ?");
$sth->execute($username, $password);
list($count) = $sth->fetchrow();
$authorized = ($count > 0);
Run Code Online (Sandbox Code Playgroud)
或类似的(代码未经测试,E&OE等...)