2013-09-26 5 views
0

У меня есть ошибка SQL ниже, когда я запускаю мой PHP SQL код:SQL ошибка при обновлении

У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса использовать вблизи «WHERE useid = 8» в строке 1

mysql_query("UPDATE free_ebook SET math = $assign_math WHERE useid = $newuserid;")or die(mysql_error()); 

Поле math является int(10) и useid также int(10).

+0

Здравствуйте г-н Смит, добро пожаловать на SO , – Ben

+1

Что решают ваши переменные? возможно, они являются неоткрытыми строками, которые завершают ваш запрос. –

+1

Укажите значение '$ assign_math' – Sean

ответ

1

Похоже, что название поля должно быть userid, а не useid.

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

"UPDATE free_ebook SET math = '".$assign_math."' WHERE useid = '".$newuserid."';" 

или даже

"UPDATE free_ebook SET math = '{$assign_math}' WHERE useid = '{$newuserid}';" 

По теме: mysql_query() осуждается, вы должны использовать PDO расширение. Это легко узнать и намного более безопасным (возможно проще!):

Are there good tutorials on how to use PDO?

http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/

http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html

+0

Не отправляйте людей на nettuts или phpro-страницы для учебных пособий. Оба этих сайта говорят людям использовать PDO с эмулированными препаратами, что отрицает любые преимущества, получаемые от подготовленных заявлений. Вместо этого направьте людей на эту страницу: http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers –

+0

Хорошо, хорошо знать спасибо. – Ben

Смежные вопросы