Лучший ответ
-
0 0
Фортер 5 (3874)236 12 лет
В описании ошибки проблему следует искать в самом начале описания, в вашем случае это desc = ...
А проблема здесь в том, что вы назвали поле (ячейку) в таблице desc. Этого делать нельзя, потому как desc - это зарезервированное слово в SQL, используется для сортировки по убыванию (ORDER BY <поле> DESC), поэтому интерпретатор не ожидает увидеть его в этом месте и не знает, что с ним делать. Список зарезервированных слов можете посмотреть, например, здесь - http://developer.mimer.se/validator/sql-reserved-words.tml
Переименуйте поле в таблице, например на description.хотя это тоже криво. я бы посоветовал так:А вы уверены, что эти переменные не экранированы ранее в коде, прежде чем вгонять дополнительные слеши? И писать в последствии стрип при селекте? И что это лучше, чем, например, mysql_real_escape_string? :)
Ответы
-
1 1
BOPOH (48) 7 (24929)957187 12 лет
я так понимаю это кусок php кода? так как SQL выглядит немного по-другому. А ошибка вот в чём:
вместо
("UPDATE cats SET title = '$cName', desc = '$cDesc' WHERE id = '$id'")
нужно писать:
("UPDATE cats SET title = '$cName', desc = '$cDesc' WHERE id = $id")
хотя это тоже криво. я бы посоветовал так:
("UPDATE cats SET title = '".addslashes($cName)."', desc = '".addslashes($cDesc)."' WHERE id = ".(int)$id)