Intereting Posts
Я не могу сортировать коллекцию продуктов по категориям id Что такое «достаточная дезинфекция» для URL Symfony2: тип поля формы сбора данных с прототипом данных Как сделать / внедрить мой собственный дизайн дисплея продукта в плагин wooCommerce Начинаем кэширование данных в PHP php curl: Мне нужен простой почтовый запрос и повторный пример страницы Как сделать компиляцию активов Symfony 2 продуктом разных имен файлов? Разделить слово заглавной буквой как обновить раскрывающееся меню Select2 после загрузки ajax другого контента? Является ли этот нежелательный ввод, от бота, заполняющего форму на моем веб-сайте, безопасным? PHP – отображает элементы «X» из цикла foreach со ссылкой для отображения следующих элементов «X» Отключить обработчик ошибок laravel Как вставить телугу символов в mysql с помощью php? mysql_fetch_array () / mysql_fetch_assoc () / mysql_fetch_row () ожидает, что параметр 1 будет ресурсом Сравните текстовые строки, чтобы увидеть, соответствуют ли они (допускают небольшие различия)

Почему моя строка SQL вызывает ошибку «Ошибка сообщения: ошибка синтаксиса: синтаксическая ошибка» в PHP?

Этот код содержит ошибки.

Сообщение об ошибке: ошибка синтаксиса: ошибка синтаксиса, неожиданный T_ENCAPSED_AND_WHITESPACE, ожидающий T_STRING или T_VARIABLE или T_NUM_STRING в /home/soulz/public_html/inbox.php в строке 19

Вот код:

mysql_query("UPDATE `messages` SET message_title = '[NO SUBJECT]' WHERE `message_id`=$row['message_id']"); 

Используйте фигурные скобки:

 mysql_query("UPDATE `messages` SET message_title = '[NO SUBJECT]' WHERE `message_id`={$row['message_id']}"); 

Не ставьте апострофы вокруг имени поля:

 mysql_query("UPDATE `messages` SET message_title = '[NO SUBJECT]' WHERE `message_id`=$row[message_id]"); ^^^^^^^^^^ 

Внутри цитируемых строк вы не можете использовать дополнительные кавычки для имен полей массива. Есть альтернативный, более сложный синтаксис, включающий фигурные скобки, если у вас очень сложное выражение массива, но здесь вам это не нужно.

Кажется, message_id является integer , поэтому вы можете исправить эту ошибку с лучшей практикой.

 mysql_query("UPDATE `messages` SET message_title = '[NO SUBJECT]' WHERE `message_id`=" . intval($row['message_id'])); 

Вы можете использовать strval() для строк. Обе функции подробно описаны в справочной странице intval () и странице strval () .