我有一個生成一個MySQL的SELECT語句中的PHP腳本:MySQL的SELECT語句GET變量
SELECT * FROM話,其中一句話=「經典」
有中字表中只有一個字可變字等於經典。
當我的PHP頁面執行時,我沒有從查詢中得到任何結果。如果我回顯用於執行查詢的字符串,請將其剪切並粘貼到數據庫中的PHPMyAdmin的SQL窗口中,但我也沒有得到任何結果。但是,如果我將該EXACT字符串重新輸入到PHPMyAdmin中的SQL窗口中(使用相同的引號字符),我會得到一行的正確結果。
select語句中的經典單詞來自PHP GET(請參閱下面的代碼)。我可以回顯$ word變量,並獲得'Classic'的正確結果。我究竟做錯了什麼?
這裏是我的代碼:
<?php
require ('dbconnect.php');
$word = $_GET["word"];
$selectStr = "SELECT * FROM words WHERE word = '" . $word . "'";
if ($results = MySQL($dbName, $selectStr))
{
$rowCount = MySQL_NUMROWS($results);
}
$resultRow = MYSQL_FETCH_ROW($results);
$wordID = $resultRow[0];
?>
你應該永遠不要直接在SQL語句上使用請求變量。 – samura
它不回答你的問題,但請記住你**必須**總是在用戶輸入之前清理用戶輸入,然後在查詢中使用它以避免SQL注入! – Marco
會不會有任何區分大小寫問題? – Sourabh