Лучший ответ

    1.  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 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)

Похожие вопросы

Рейтинг@Mail.ru Top.LV PULS.LV Professional rating system