У меня ошибка в моем коде, но я не нашел свою ошибку … Можете ли вы мне помочь? вот мой код:
$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)");