Когда я пытаюсь обновить таблицу вместо увеличения по массиву URL-адресов, то, что напечатано в таблице, является только последней записью в массиве url.Обновить таблицу MySQL с foreach()
Когда я эхо-сигнал $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 считает специальный символ будет обрабатываться правильно. Это отличная привычка. –
@Topener: так как система должна быть запрограммирована кем-то, она все равно «пользовательский» вход (особенно если вы используете младшие кодеры). Тем не менее, вероятно, было бы разумнее: a) использовать правильный тип (например, '(int) $ currentId') или b) параметризованные запросы, чем слепо бросить все в строку. – Piskvor