2016-05-11 5 views
-3

я пишу следующий кодв INSERT INTO запрос

$query_upload="INSERT INTO sipat ('visit','date','meeting_detail','issues','details2','school','toilets','photo','water','connection','contract','news','currentdate') VALUS ('$visit','$date','$meeting_detail','$issues','$details2',$school,$toilets,$photo,$water,$connection,$contract,'$news','$currdate')"; 

mysql_query($query_upload) or die("error in query == ----> ".mysql_error()); 

но получаю ошибку ошибку в запросе == ---->

У Вас есть ошибка в вашем SQL синтаксиса ; проверьте руководство, соответствующее версии сервера MariaDB, для правильного синтаксиса для использования рядом с '' visit ',' date ',' meeting_detail ',' issues ',' details2 ',' school ',' туалеты ',' photo ',' '' по строке 1

+2

[Когда использовать одиночные кавычки, двойные кавычки и обратные кавычки?] (Http://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and-backticks # 11321508) – lad2025

+1

[Little Bobby] (http://bobby-tables.com/) говорит, что [ваш скрипт находится под угрозой для SQL Injection Attacks.] (Http://stackoverflow.com/questions/60174/how-can- я-предотвратить-SQL-инъекции-в-РНР). Даже [избегая строки] (http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) небезопасно! –

+3

Пожалуйста, прекратите использование 'mysql_ *' функций (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). [Эти расширения] (http://php.net/manual/en/migration70.removed-exts-sapis.php) были удалены в PHP 7. Узнайте о [подготовленном] (http://en.wikipedia.org/ wiki/Prepared_statement) для [PDO] (http://php.net/manual/en/pdo.prepared-statements.php) и [MySQLi] (http://php.net/manual/en/mysqli.quickstart .prepared-statements.php) и подумайте над использованием PDO, [это действительно довольно легко] (http://jayblanchard.net/demystifying_php_pdo.html). –

ответ

0

Это связано с единственными кавычками '' вокруг каждого имени поля. Вы можете использовать `` или просто удалить кавычки.

$query_upload = "INSERT INTO sipat (`visit`,`date`,`meeting_detail`,`issues`,`details2`,`school`,`toilets`,`photo`,`water`,`connection`,`contract`,`news`,`currentdate`) VALUES ('".$visit."','".$date."','".$meeting_detail."','".$issues,"','".$details2."','".$school."', .'"$toilets."', '".$photo."', '".$water."', '".$connection."', '".$contract."', '".$news."', '".$currdate."')"; 
+0

Учитывая, что второе имя поля - это зарезервированное слово, а последние шаги очень близки к ключевому слову, я бы рекомендовал ''. – Uueerdo

+0

@Uueerdo 'date' не зарезервировано, зарезервированы только' (R) '. http://dev.mysql.com/doc/refman/5.7/en/keywords.html – chris85

+0

@ chris85 Вы ​​правы, я получил их назад. В любом случае, это обычно хорошая практика, чтобы держаться подальше от них. – Uueerdo