Я не понимаю, почему у меня ошибка Statement :: execute ()?

У меня ошибка в моем коде, но я не нашел свою ошибку … Можете ли вы мне помочь? вот мой код:

$updt=$connect->prepare("INSERT INTO utilisateurs VALUES ('',:nom, :prenom, :email, :identifiant, MD5(:mdp)"); $updt->execute(array('nom'=>$nom, 'prenom'=>$prenom, 'email'=>$email, 'identifiant'=>$identifiant, 'mdp'=>$motDePasse )); header('./gestion-utilisateur.php');</pre> 

И это ошибка:

 Warning: PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1064 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 '' at line 2 in... 

Заранее благодарим за помощь.

Возможно, это поможет вам

 $updt=$connect->prepare("INSERT INTO utilisateurs VALUES ('',:nom, :prenom, :email, :identifiant, MD5(:mdp))"); // I think u missed one parathesis at the last thats it ^ 

Попробуйте это вместо этого:

  $updt=$connect->prepare("INSERT INTO utilisateurs VALUES ('',:nom, :prenom, :email, :identifiant, :mdp)"); $updt->execute(array('nom'=>$nom, 'prenom'=>$prenom, 'email'=>$email, 'identifiant'=>$identifiant, 'mdp'=>MD5($motDePasse) )); header('./gestion-utilisateur.php'); 

В этом утверждении

 $updt=$connect->prepare("INSERT INTO utilisateurs VALUES ('',:nom, :prenom, :email, :identifiant, MD5(:mdp)"); 

Я предполагаю, что первое поле, в которое вы передаете '' to, – это поле с автоматическим приращением, что-то вроде id .

Старайтесь, что вы не передадите список полей в запрос, вы также просите MySQL разработать, какие поля будут автоматически добавлять данные, и это сделает это, посмотрев на схему и получив имена полей для этой таблицы в том порядке, в котором они хранятся в схеме. Это может быть опасно, поскольку кто-то другой может изменить порядок, в котором они хранятся, в схеме.

Поэтому лучше добавить имена полей, которые вы хотите вставить в запрос.

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

Поэтому используйте: –

 $updt=$connect->prepare("INSERT INTO utilisateurs (nom,prenom,email,identifiant,mdp) VALUES (:nom, :prenom, :email, :identifiant, MD5(:mdp)");