2013-12-01 2 views
-2

Im идущие бананы в этой ошибке, вы можете помочь мне? заранее спасибоУ вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует

вот эта ошибка У вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования близких значений) ('aaaaaaaaa', 'asfasfasas', 'asfasfasfasf', 'Male', '12/11/2013', '' в строке 1

<?php 

    if (isset($_POST['save'])){ 

     $surname=$_POST['surname']; 
     $firstname=$_POST['firstname']; 
     $middlename=$_POST['middlename']; 
     $sex=$_POST['sex']; 
     $Date_of_Birth=$_POST['Birth_date']; 
     $birth_place=$_POST['birth_place']; 
     $citizenship=$_POST['citizenship']; 
     $Telephone_NO=$_POST['Telephone_NO']; 
     $Permanent_Address=$_POST['Permanent_Address']; 
     $Position=$_POST['Position']; 
     $Classification=$_POST['Classification']; 
     $fat=$_POST['fat']; 
     $mot=$_POST['mot']; 
     $fatadd=$_POST['fatadd']; 
     $motadd=$_POST['motadd']; 
     $nino=$_POST['nino']; 
     $nina=$_POST['nina']; 



mysql_query("insert into mrecord (LastName,FirstName,MiddleName,location,sex,Date_of_Birth,birth_place,citizenship, Telephone_NO, Permanent_Address,Position,Classification,fat,mot,fatadd,motadd,nino,nina,)  

values ('$surname','$firstname','$middlename','$sex','$Date_of_Birth','$birth_place', '$citizenship','$Telephone_NO','$Permanent_Address','$Position','$Classification','$fat','$mot','$fatadd','$motadd','$nino','$nina') 

      ") or die(mysql_error()); 

       header('location:emp_profiles.php'); 

    } 


?> 
+0

'.., nina,)' неверно. И так используется 'mysql' (который * устарел *, использует mysqli или PDO) и [* не использует заполнители *) (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql- инъекции в-php) также очень неправы. – user2864740

+0

ха-ха, это исправить: D, но это еще одна ошибка? Количество столбцов не соответствует счету значений в строке 1 –

+4

** Создавая SQL-запросы с внешними переменными, вы оставляете себя широко открытыми для SQL-инъекций. ** Кроме того, любые входные данные с одинарными кавычками в нем, такие как имя «O'Malley», взорвет ваш SQL-запрос. Пожалуйста, узнайте об использовании параметризованных запросов, желательно с модулем PDO, для защиты вашего веб-приложения. У http://bobby-tables.com/php есть примеры, чтобы вы начали, и [этот вопрос] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in- php) имеет много примеров. –

ответ

1

Изменить это:

mysql_query("insert into mrecord (LastName,FirstName,MiddleName,location,sex,Date_of_Birth,birth_place,citizenship, Telephone_NO, Permanent_Address,Position,Classification,fat,mot,fatadd,motadd,nino,nina,) values ('$surname','$firstname','$middlename','$sex','$Date_of_Birth','$birth_place', '$citizenship','$Telephone_NO','$Permanent_Address','$Position','$Classification','$fat','$mot','$fatadd','$motadd','$nino','$nina') 

«);

Для этого:

mysql_query("insert into `mrecord` (`LastName`, `FirstName`, `MiddleName`, `location`, `sex`, `Date_of_Birth`, `birth_place`, `citizenship`, `Telephone_NO`, `Permanent_Address`, `Position`, `Classification` , `fat`, `mot`, `fatadd`, `motadd`, `nino`, `nina`) values ('$surname', '$firstname', '$middlename', '$sex', '$Date_of_Birth', '$birth_place', '$citizenship', '$Telephone_NO', '$Permanent_Address', '$Position', '$Classification', '$fat', '$mot', '$fatadd', '$motadd', '$nino', '$nina')"); 

маленький совет: НЕ вставляйте Валу в базу данных из $ _POST. Вы должны очистить его, по крайней мере, с помощью функции mysql_real_escape_string()

+0

, который работает благодаря –

+0

Итак, отметьте его как решение. Спасибо :) –

+1

также, имейте в виду, что некоторые поля SQL запрещены, я некоторое время пытался вставить значение в поле «create»: / –

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

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