Простое ОБНОВЛЕНИЕ MySQL затрагивает только определенные строки

РЕШИТЬ

В строках 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

После: (я добавил тест к столбцам)

http://i.stack.imgur.com/ObMn5.png

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]