Cette requête échoue après avecrequête MySQL échoue sur la violation de contrainte d'intégrité
Intégrité violation de contrainte: 1048 Colonne 'nom_login' ne peut pas être nulle
Ma déclaration d'insertion est ...
$insertUserQuery = 'INSERT INTO `users` (
`login_name`,
`password`,
`first_name`,
`last_name`,
`company_name`,
`company_address`,
`country`,
`email`,
`phone_number`,
`agency_type`,
`sold_before`,
`authorised`,
`current_module`
)
VALUES (
:login_name, :login_password, :first_name, :last_name, :company_name, :company_address, :country, :email, :phone_number, :agency_type, :sold_before, 0, 0);';
$bindings = array(':login_name' => $loginName,
':login_password' => sha1($password . Config::PASSWORD_SALT),
':first_name' => $firstName,
':last_name' => $lastName,
':company_name' => $companyName,
':company_address' => $companyAddress,
':country' => $country,
':email' => $emailAddress,
':phone_number' => $phone,
':agency_type' => null,
':sold_before' => null
);
print_r($bindings);
Db::query($insertUserQuery, $bindings);
Ma classe de base de données peut être trouvée at another question. Le print_r()
me dit que le tableau a définitivement une valeur.
Est-ce que cela peut avoir quelque chose à voir avec moi en utilisant le mot 'mot de passe' qui est aussi une fonction MySQL?
Est-ce que PDO prend en charge les instructions préparées avec INSERT de la même manière qu'avec SELECT?
Dois-je citer les valeurs, exemple ': login_name'?
êtes-vous sûr que $ loginName n'est pas nul? avez-vous essayé le débogage dans la classe wrapper DB? (bien que cela semble correct) –
Oui, j'ai renvoyé toutes les données de liaison et il sort correctement. – alex
Il n'y a pas de liaison dans la requête –