В настоящее время я пытаюсь сделать довольно простую задачу. Информация извлекается с помощью «post.php», где она обрабатывается и должна быть вставлена в базу данных, если идентификатор (автоинкремент) не существует, или обновить данные, если идентификатор существует.
Запуск скрипта ничего не записывает в базу данных. Я попытался распечатать запрос на странице и скопировать/вставить SQL в PhpMyAdmin. Он возвращается
#1064 — ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, на предмет правильного синтаксиса для использования рядом с 'long, description, mobile, type, reported, embed, live, img_url) VALUES ('', 'TE' в строке 1
Мой код:
$query="INSERT INTO
xxy
(ID
, name
, address
, lat
, long
, description
, mobile
, type
, reported
, embed
, live
, img_url
) VALUES('$id', '$name', '$address', '$lat', '$ lon', '$description', '$mobile', '$type', '$reported', '$embed', '$live', '$target_file') ПРИ ОБНОВЛЕНИИ ДВОЙНОГО КЛЮЧАname
=VALUES(' $name'), address
=ЗНАЧЕНИЯ('$address'), lat
=ЗНАЧЕНИЯ('$lat'), long
=ЗНАЧЕНИЯ('$lon'), description
=ЗНАЧЕНИЯ('$description'), mobile
=ЗНАЧЕНИЯ(' $mobile'), type
=ЗНАЧЕНИЯ('$type'), reported
=ЗНАЧЕНИЯ('$сообщенные'), embed
=ЗНАЧЕНИЯ('$embed'), live
=ЗНАЧЕНИЯ('$live'), img_url
=ЗНАЧЕНИЯ(' $img_url')";
Спасибо за помощь!
ОБНОВИТЬ:
Я также пробовал возвращать зарезервированные слова. Мой текущий код SQL все еще возвращает ошибку.
1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса для использования рядом с ''$ name'), address=VALUES('$address'), lat=VALUES('$lat'), lon=VALUES('$ lon'), de' в строке 2
Обновленный код SQL, который я использую:
INSERT INTO `xxy` (`ID`, `name`, `address`, `lat`, `lon`,
`description`, `mobile`, `type`, `reported`, `embed`, `live`,
`img_url`) VALUES('$id', '$name', '$address', '$lat', '$lon',
'$description', '$mobile', '$type', '$reported', '$embed', '$live',
'$target_file') ON DUPLICATE KEY UPDATE `name`=VALUES('$name'),
`address`=VALUES('$address'), `lat`=VALUES('$lat'),
`lon`=VALUES('$lon'), `description`=VALUES('$description'),
`mobile`=VALUES('$mobile'), `type`=VALUES('$type'),
`reported`=VALUES('$reported'), `embed`=VALUES('$embed'),
`live`=VALUES('$live'), `img_url`=VALUES('$img_url')
John's Coffee Shop
, я прав? Если это так, MySQL интерпретирует это какJohn\'s Coffee Shop
, вызывающий синтаксическую ошибку. Вам нужно будет избежать ваших данных. - person Funk Forty Niner   schedule 14.09.2015ON DUPLICATE KEY UPDATE name='$name', address='$address'...
Не нужно добавлятьVALUES
- person ojovirtual   schedule 14.09.2015