Синтаксическая ошибка:MySQL Insert Select

У меня есть этот запрос для вставки в tbl_userprofile:

$SQL = "INSERT INTO tbl_userprofile (userId, name, surname, gender, nationality, address,  mobile, department, email, question, answer)
SELECT tbl_user.Id , '$name', '$surname', '$gender', '$nationality', '$address','$mobile',  '$department', '$email', '$question', '$answer'
FROM tbl_user
WHERE username = '$uname'";

Я получаю синтаксическую ошибку, которая гласит: "У вас есть ошибка в вашем синтаксисе SQL; проверьте правильность синтаксиса в руководстве, соответствующем версии вашего сервера MySQL, рядом с" pet-peeve "," dirt "ОТ tbl_user WHERE username = 'alex''в строке 2"

ПРИМЕЧАНИЕ: любимая мозоль и грязь - это вопрос и ответ. Я не знаю, как я получаю синтаксическую ошибку. Пожалуйста, где моя синтаксическая ошибка? Спасибо

1 ответ

Решение

В этих двух последних полях может быть какой-то простой текст, так что, возможно, там есть кавычки, лучше addslashes() на ваш $question а также $answer переменные

'$email', '".addslashes($question)."', '".addslashes($answer)."' FROM tbl_user
Другие вопросы по тегам