我知道我應該使用準備的語句和消毒的數據我只是檢查PDO驅動
我只是想知道爲什麼,如果我只是路過返回true隨機數據查詢返回true?爲什麼這個說法時,我查詢數據庫
只是注意到這個PDO ::查詢 - 執行SQL語句,返回設置爲PDOStatement對象對象
$dbuser = 'root';
$dbpass = 'root';
$formpost = false;
try
{
$dbh = new PDO('mysql:host=127.0.0.1;dbname=loginexample', $dbuser, $dbpass);
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
if(!empty($_POST['username']) && !empty($_POST['password']))
{
$formpost = true;
$username = $_POST['username'];
$password = $_POST['password'];
}
if($dbh && $formpost)
{
$sql= "SELECT username, password FROM user WHERE username='$username' AND password='$password'";
if($dbh->query($sql))
{
echo 'true';
}
}
我想查看誰是第一個評論此SQL注入漏洞的smartass。 –
它返回true,因爲你的查詢是成功的..沒有其他 –
哦,上帝,你們都是如此*** –