我試圖以防止SQL注入(標準網站)的方式爲MySQL設置PHP查詢。PHP:調整SELECT注入SQL注入後while循環無法正常工作
我有一對夫婦INSERT查詢哪裏改變這個工作很好,但以下SELECT我不斷收到一個錯誤,因爲更新,它看起來像while循環不與我所做的更改工作(它的工作原理不需要像舊代碼那樣使用語句)。
有人能告訴我我在做什麼錯嗎?
新PHP:
$stmt = $conn->prepare("SELECT ? FROM TranslationsMain WHERE location LIKE '%calendar weekday%' ORDER BY sortOrder, ?");
$stmt->bind_param('s', $selectedLang);
$stmt->execute();
$result = $stmt->get_result();
while($arrCalWeekdays = $result->fetch_assoc()){
$calWeekdays[] = $arrCalWeekdays;
}
$conn->close();
老PHP(變更部分):
$sql = "SELECT " . $selectedLang . " FROM TranslationsMain WHERE location LIKE '%calendar weekday%' ORDER BY sortOrder, " . $selectedLang;
$result = $conn->query($sql);
while($arrCalWeekdays = $result->fetch_assoc()){
$calWeekdays[] = $arrCalWeekdays;
}
$conn->close();
錯誤消息:
Fatal error: Call to a member function fetch_assoc() on a non-object in /homepages/21/d580042014/htdocs/myform.php on line 21
很多感謝提前。
請參閱http://stackoverflow.com/questions/11312737/can-i-parameterize-the-table-name-in-a-prepared-statement關於*你不能做什麼*準備好的陳述。 –
'$ selectedLang'的值從哪裏來?它是用戶定義的嗎? – Gumbo