2015-06-07 3 views
-2

вечер все, у меня есть проблема с ошибкой синтаксиса SQLSql ошибка синтаксиса с помощью UPDATE запросов к базе данных

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'where username = danny (name, url, banner, description, sponsor, date, password)' at line 1 

Вот мой код

$query = "UPDATE websites where username = $login_session (name, url, banner, description, sponsor, date, password) VALUES ('$n', '$b', '$d', '0', now(), SHA('$p'))"; 

ответ

2

Это потому, что ваш UPDATE синтаксис утверждение неверно. Проверьте MySQL documentation for proper UPDATE syntax. Я думаю, что вы имели в виду, чтобы сделать INSERT довольно

INSERT INTO websites (name, url, banner, description, sponsor, date, password) 
VALUES ('$login_session', '$n', '$b', '$d', '0', now(), SHA('$p')) 

EDIT:

Я думаю, что это то, что вы после

UPDATE websites SET name = '$n', 
url = '$b', 
banner = '$d', 
description = '0', 
sponsor = 'some_value_here', 
date = now(), 
password = SHA('$p') 
where username = '$login_session'; 
+0

Но это не делает никаких проверок, например: я хочу, чтобы обновить таблицу, которая имеет имя пользователя, подписанное в имя пользователя = $ login_session – KIXEYE

+0

Количество столбцов не совпадает с количеством значений в строке 1 с помощью:. $ query = "INSERT INTO websites (имя пользователя, имя, URL, баннер, описание, спонсор, дата, пароль) VALUES ('$ login_session', '$ n', '$ b', '$ d', '0', now(), SHA ('$ p')) "; $ result = mysql_query ($ query) или die (mysql_error()); – KIXEYE

+0

Проверьте обновление в ответ. Вам нужен оператор UPDATE, но ваш синтаксис неверен. – Rahul

3

Ваш запрос MySQL не так, как говорит об ошибке, проверьте руководство.

В UPDATE вы не используете table(field,field1) values('value','value1') как в INSERT, вы используете field='value', field1='value1' также WHERE должны быть в конце концов, правильный порядок запроса + где + заказ + предел. MySQL не такой гибкий.

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