fatal error PDOException pour execute

Par yosraMH, il y a 9 ans


Bonjour,

Voila je rencontre un petit problème avec mon code. Il m'affiche fatal error pour execute lorsque je voulais insérer dans la base de donnée.

if (!empty($_POST)) { $errors = array(); if (empty($_POST['username']) || !preg_match('/^[a-zA-Z0-9_ -]+$/', $_POST['username'])) { $errors['username'] = "Votre Pseudo n'est pas valide!"; } if (empty($_POST['email']) || !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)) { $errors['email']= "Votre email n'est pas valide!"; } if (empty($_POST['password']) || $_POST['password'] != $_POST['password-confirm']) { $errors['email']= "Vous devez entrer un mot de passe valide!"; } if (empty($errors)) { require_once 'inc/db.php'; $req = $pdo->prepare("INSERT INTO users SET username = ?, password = ?, email = ?"); $password = password_hash($_POST['password'], PASSWORD_BCRYPT); $req->execute([$_POST['username'], $password, $_POST['email']]); die('Compte crée avec succée!'); } debug($errors); }

Je voulais faire une insertion dans la base de donnée

Fatal error: in C:\wamp64\www\v1base\register.php on line 29
( ! ) PDOException: in C:\wamp64\www\v1base\register.php on line 29
Call Stack

Time Memory Function Location

1 0.0010 249400 {main}( ) ...\register.php:0
2 0.0849 262256 execute ( ) ...\register.php:

2 réponses

Benjamin Derepas, il y a 9 ans

Ta requête est étrange ... Pour un insert on utilise generalement :

INSERT INTO table (field,field,field) VALUES ($val,$val)
cid5420, il y a 9 ans

Normalement on fait ce genre de chose ;)

$req = $PDO->prepare("INSERT INTO users (username, password, email) VALUES (:username, :password, :email)"); $req->execute(array( "username" => $login, "password" => $password, "email" => $email ));