У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с 'Office, meheh)' в строке 1
вот мой запрос sql
$sql1 = "INSERT INTO `tbl_charter`(`steps`, `personnel`, `timee`, `fees`, `documents`, `complaints`, `office`, `service`)
VALUES($InsertSteps','$InsertPersonnel','$InsertTime','$InsertFees','$InsertDocuments','$InsertComplaints',".$_GET["office_name"].",".$_GET["application_name"].")";
Подскажите, пожалуйста, где?
что бы там ни было 's Office эта строка
Скорее всего, из-за ".$_GET["office_name"].", лучше использовать '$_GET["office_name"]'.
Я не голосую против, теперь я понимаю, что вы имеете в виду, вероятно, это была запятая в названии офиса.
это опасная плохая практика, и я надеюсь, что ее нет на веб-сайте
Ваш запрос уязвим для внедрения sql. Пожалуйста, прекратите писать запросы, пока вы не прочитаете и не реализуете это. Я предполагаю, что вы используете mySqli. Если нет, то есть и версия PDO. Добавьте это в закладки и используйте в качестве справочника. websitebeaver.com/…
Возможный дубликат Как я могу предотвратить SQL-инъекцию в PHP?






Похоже, вам не хватает одной кавычки перед $ InsertSteps и вокруг двух ссылок на $ _GET. Кроме того, попробуйте сначала экранировать свои переменные, рекомендуется всегда избегать ввода перед вызовом базы данных. Экранирование поможет защитить ваше приложение от злоумышленников, которые могут попытаться добавить дополнительные команды в ваш оператор SQL.
Пример:
$InsertSteps = mysql_real_escape_string($InsertSteps);
$InsertPersonnel = mysql_real_escape_string($InsertPersonnel);
$InsertTime = mysql_real_escape_string($InsertTime);
$InsertFees = mysql_real_escape_string($InsertFees);
$InsertDocuments = mysql_real_escape_string($InsertDocuments);
$InsertComplaints = mysql_real_escape_string($InsertComplaints);
$InsertOfficeName = mysql_real_escape_string($_GET["office_name"]);
$InsertApplicationName = mysql_real_escape_string($_GET["application_name"]);
$sql1 = "INSERT INTO `tbl_charter`(`steps`, `personnel`, `timee`, `fees`, `documents`, `complaints`, `office`, `service`)
VALUES('$InsertSteps','$InsertPersonnel','$InsertTime','$InsertFees','$InsertDocuments','$InsertComplaints','$InsertOfficeName','$InsertApplicationName')";
Я бы избегал использования mysql_real_escape_string(), чтобы избежать ваших переменных. Утомительно и легко забыть делать 100% времени на 100% переменных в коде. Использование подготовленных операторов полностью избавляет от этого.
^ не говоря уже о том, что mysql_ * был удален из php
Просто попробуйте запрос ниже
$sql1 = "INSERT INTO `tbl_charter`(`steps`, `personnel`, `timee`, `fees`, `documents`, `complaints`, `office`, `service`) VALUES('$InsertSteps','$InsertPersonnel','$InsertTime','$InsertFees','$InsertDocuments','$InsertComplaints','".$_GET['office_name']."','".$_GET['application_name']."')";
опасен, открыт для SQL-инъекций и никогда не должен использоваться
$appname=$_GET["application_name"];
$officename=$_GET["office_name"];
$sql1 = "INSERT INTO `tbl_charter`(`steps`, `personnel`, `timee`, `fees`,`documents`, `complaints`, `office`, `service`) VALUES('$InsertSteps','$InsertPersonnel','$InsertTime','$InsertFees','$InsertDocuments','$InsertComplaints','$officename','$appname')";
опасен, открыт для SQL-инъекций и никогда не должен использоваться
неэкранированные кавычки во входной строке