當我嘗試更新我的表格而不是通過url數組遞增時,打印到表格的內容只是url數組中的最後一項。使用foreach更新MySQL表格()
當我回應$url
我可以告訴它通過適當的陣列循環。當我回應$currentId
是正確增量。爲什麼查詢不會在我的表格的每一行中輸入每個$url
。這裏發生了什麼,我不明白?
$currentId = 1;
foreach($pages as $url)
{
$query = "UPDATE pageurls SET url='$url' WHERE id='currentId'";
mysql_query($query);
echo($url.'<br/>');
$currentId++;
}
這是不是真的對用戶的輸入,它是關於如何確保MySQL的東西認爲是一個特殊字符將被正確處理。這是一個很好的習慣。 – 2012-01-27 13:51:54
@Topener:由於系統需要由某人編程,所以仍然是「用戶」輸入(特別是如果你使用初級編碼器)。儘管如此,a)使用正確的類型(例如'(int)$ currentId')或者b)參數化查詢可能更好,而不是盲目地將所有東西都轉換爲字符串。 – Piskvor 2012-01-27 14:05:40