Этот код выдает ошибку. Я пытался устранить неполадки, но что-то упустил. Поскольку я написал это, я упускаю из виду синтаксическую ошибку. Любая помощь ?
$kql = "
INSERT INTO References (Email, Company1, Person1, Contact1, Company2, Person2, Contact2, Company3, Person3, Contact3, Company4, Person4, Contact4, Company5, Person5, Contact5)
VALUES ( '$company44','$Company', '$Person', '$Contact', '$Company1', '$Person1', '$Contact1', '$Company2', '$Person2', '$Contact2', '$Company3', '$Person3', '$Contact3', '$Company4', '$Person4', '$Contact4')";
Ошибка
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 'References (Email, Company1, Person1, Contact1, Company2, Person2, Contact2, Com' at line 1
Попробуйте вставить запрос с помощью phpMyadmin, заменив переменную фиктивными данными
Какую СУБД вы используете? MySQL, MS SQL? pgSQL?
@Swellar он также используется в MSSQL и pgSQL
@Cid Спасибо за информацию, к сожалению, я не могу редактировать свой первоначальный комментарий
Используемая СУБД - MYSQL.
Пожалуйста, не создавайте SQL-запросы, объединяя строки вместе. Всегда следует использовать параметризованные запросы, в противном случае возникает значительный риск для безопасности из-за внедрения SQL. Кроме того, использование параметризованной формы сделает ваш код более надежным. Например, если бы $person был «мистером О'Брайеном», его имя закрывало бы вашу кавычку в середине его имени, вызывая новую синтаксическую ошибку.
@Swellar, ваш первый ответ, помог мне, создал таблицу с другим именем БД, и это сработало.
всегда пишите код по стандартам, и таких ошибок у вас не будет






REFERENCES - это ключевое слово SQL, используемое для определения внешний ключ.
Если у вас есть таблица / столбец с именем с ключевым словом SQL, вы должны заключить имя таблицы / столбца в определенные символы.
MySQL
INSERT INTO `References` (...) ...
MS SQL
INSERT INTO [References] (...) ...
Postgre SQL
INSERT INTO "References" (...) ...
Я не уверен в pgSQL, может кто-нибудь подтвердить?
Например, ничто (кроме здравого смысла) не мешает вам создать базу данных с именем INSERT с таблицей INTO, имеющей столбец VALUE(42).
Этот запрос работает:
USE [INSERT]
SELECT [INTO].[VALUE(42)] FROM [INTO]
Я думаю, это вызывает ошибку, потому что
Referencesна самом деле является ключевое слово(по крайней мере для MySQL). Попробуйте сделать простойSELECTв таблице, если ошибка все равно возникает