0
即時通訊MySQL數據庫看似正確的查詢有問題。有問題的查詢是:PHP SQL數據庫查詢錯誤
「SELECT * FROM Users WHERE Email =」。$ email。「;」。查詢本身是 執行罰款,但被返回的$結果是假的(如果我 替換「電子郵件=」 $電子郵件。「」與「ID = 1」,它的工作原理,並返回一個 值)。
if($emailCheck = TRUE){
echo "<script type='text/javascript'>alert('Email check true.');</script>";
$sql = "SELECT * FROM Users WHERE Email =".$email.";";
echo $sql;
$result = $conn->query($sql);
if ($result){
$row = mysqli_fetch_array($result) ;
echo "<script type='text/javascript'>alert('".(string)$row['FirstName']."');</script>";
} else { echo "<script type='text/javascript'>alert('bad result');</script>";}
}
一些信息:
$ emailCheck = TRUE工作正常。
當使用 「ID = 1」,而不是 「電子郵件=」 $電子郵件 「」 一切正常
回聲$ SQL。;返回「SELECT * FROM Users WHERE Email = [email protected];」
任何幫助爲什麼當使用「電子郵件=」。$ email。「」時返回false結果爲false?
嘗試 「電子郵件=」」。$電子郵件。」'「在MySQL需要 –
字符串文字被引用,即。 'WHERE Email ='zxzx @ hotmail.com''。這將是對SQL注入讀了一個好時機,以及如何防止它使用預處理語句 - [我怎樣才能防止SQL注入的PHP?](http://stackoverflow.com/questions/60174/how-can -i-防止-SQL注入式-PHP) – Sean
是感謝球員,我只是理解了它,dooe。 – DiscreteTomatoes