Cody O'Meara Ответов: 1

Php mysql ошибка вставки


- Привет! Я постоянно получаю ошибку для следующего оператора insert:

$uploadAttempts = "INSERT INTO `results` (`fullName`, `temp`, `data1`, `data2`, `data3`, `data4`, `data5`, `data6`, `message`, `result`, `dateTime`, `indexData`) VALUES ('$answer1', '$answer2', '$answer3', '$answer4', '$answer5', '$answer6', '$answer7', '$answer8', '$answer9', '$overallResult', CURRENT_TIMESTAMP, '1'";


Не зная, что с ним не так, я сослался на другой оператор insert, и все выглядит хорошо. Может ли это быть CURRENT_TIMESTAMP?

Что я уже пробовал:

Я попробовал использовать php checker с результатом :

Error: There is 1 more opening parenthesis '(' found


Я также попытался поставить одинарные кавычки вокруг CURRENT_TIMESTAMP, но безуспешно.

1 Ответов

Рейтинг:
8

Garth J Lancaster

Есть только две проблемы с вашим SQL

1) вы никогда не должны объединять строки для формирования SQL - вы оставляете себя открытым для SQL-инъекций - xkcd: подвиги мамы[^] - поэтому, пожалуйста, узнайте, как использовать параметризованный оператор SQL - да, это возможно, даже в PHP ;-)

2) это

$uploadAttempts = "INSERT INTO `results` (`fullName`, `temp`, `data1`, `data2`, `data3`, `data4`, `data5`, `data6`, `message`, `result`, `dateTime`, `indexData`) VALUES ('$answer1', '$answer2', '$answer3', '$answer4', '$answer5', '$answer6', '$answer7', '$answer8', '$answer9', '$overallResult', CURRENT_TIMESTAMP, '1'";
возможно, так и должно быть

...CURRENT_TIMESTAMP, '1')";
(обратите внимание на ')' перед заключительной двойной кавычкой '"' )