РЕШИТЬ
В строках 1, 4 и 10 есть поле с символом одинарной кавычки, поэтому я сам вводил SQL. Больше оснований для перехода к готовым заявлениям!
У меня есть очень простой пакетный запрос UPDATE, отправленный из моей формы PHP, который, как ни странно, влияет только на определенные строки. Строки 1, 4 и 10 не обновляются; но все остальные строки обновляются.
Вот запрос:
$query = "SELECT * FROM SkillDescriptions";
$result = mysql_query($query);
for ($i=1; $i<=mysql_num_rows($result); $i++){
$skillKey = 'Skill' . (string)$i;
$categoryKey = 'Category' . (string)$i;
$descriptionKey = 'Description' . (string)$i;
$sql="UPDATE SkillDescriptions SET
Skill='$_POST[$skillKey]',
Category='$_POST[$categoryKey]',
Description='$_POST[$descriptionKey]'
WHERE id='$i'
";
$result2=mysql_query($sql);
}
У меня есть параллельная форма, которая выполняет ту же обработку PHP-формы, что и эта, но имеет другую таблицу базы данных, которая работает правильно: поэтому проблема, скорее всего, заключается в таблице базы данных (конфигурации?), А не в коде.
Почему обновляются только определенные строки, по-видимому, случайным образом?
ОБНОВИТЬ
До:
http://i.stack.imgur.com/2hk2l.png
После: (я добавил тест к столбцам)
Задача ещё не решена.
Других решений пока нет …