2014-11-13 2 views
-5

Я пишу код PHP/SQL, который производит опрос для оборонных компаний. К сожалению, когда я отвечаю на вопросы и нажмите отправить, я получаю сообщение об ошибке сказав:Ошибка синтаксиса в файле PHP/SQL

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '', '', '', '', '')' at line 56

Теперь код, который я дал вам ниже это только часть более длинного кода, а линия 56 соответствует самая последняя строка, т.е. где говорится: VALUES. (Существуют другие коды, которые соответствуют строке 56, например, закрытие соединения mysqli, но это не имеет ничего общего с моей проблемой). Я не понимаю, почему я получаю это сообщение.

Вы не должны использовать целое число (например, «question1») - это цифра «1», вызывающая эту трудность? Я урезал свой код - у меня много номеров, переходя к вопросу65, и поэтому я не могу удалить все числа и заменить их на строки, а затем проверить, работает ли он. Вот почему я спрашиваю вас, эксперты.

Почему я продолжаю получать эту синтаксическую ошибку?

 $sql = "UPDATE Raptor 
     Set `Role` = '$question1', 
      `Origin` = '$country', 
      `FirstFlight` = '$year', 
      `PrimaryUser` = '$question4' 
    where `SessionID` = '$sessionID'"; 


    $sql="INSERT INTO Raptor (SessionID, Role, Origin, FirstFlight, PrimaryUser) 
    VALUES  ('$sessionID', '$question1', '$country', '$year', '$question4')"; 
+5

MySQL никогда не увидит ваши имена переменных php. к тому времени, когда строка запроса будет построена и отправлена ​​в mysql с помощью PHP, имена переменных ahve будут заменены их значениями. У вас есть синтаксическая ошибка SQL, но, как написано выше, нет ничего плохого в любом из ваших запросов. Это означает, что у вас есть что-то глупое в PHP-коде. –

+0

Что делает 'echo $ sql;' показывает вам для каждого запроса? –

+1

Недостаточно кода или информации для продолжения. Что касается меня, этот код проверяется. Каковы ценности? –

ответ

0

Я пытаюсь ответить на вопрос @Rocket HAZMAT, но я не имею права, так я отвечаю на свой вопрос, и я надеюсь, что @Rocket видит. Когда я echo $sql, я получаю:

VALUES ('***.***.***.** 2014-11-13 18:58:49', 'question1', 'country', 'year', '', '', '', '', '', '', '', '', '', '', '', '1', '1', '1', '', '', '5', '5', '5', '5', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '','', '', '', '', '', '', '','', '', '', '') 

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '', '', '', '', '', '')' at line 56

Что, кажется, происходит то, что ответы, которые я ответил, появляются в базе данных, например, 1 и 5, и т. Д., Но потому что я не ответил все вопросы в опросе, генерируется ошибка. Я посмотрю, что произойдет, когда я отвечу на все вопросы. Спасибо, что указали echo $sql. Я не думал об этом.

+1

Чтобы ответить [мой вопрос] (https://stackoverflow.com/questions/26916254/syntax-error-in-php-sql-file#comment42381169_26916254) из комментариев, вы можете добавить комментарий или можете [изменить] (https://stackoverflow.com/posts/26916254/edit) ваш вопрос, чтобы добавить дополнительную информацию. Пожалуйста ** ** не ** опубликуйте это как ответ. Он не отвечает на вопрос, поэтому он здесь не принадлежит. –

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