PDO::errorInfo(): Array ( [0] => 00000 [1] => [2] => )

Signaler
Messages postés
1
Date d'inscription
mardi 1 juin 2021
Statut
Membre
Dernière intervention
1 juin 2021
-
Messages postés
33011
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 juin 2021
-
Bonjour,

j'ai ce code pour l'insertion des données d'un formulaire d'inscription, je ne sais pas d'ou provient l'erreur,
voila mon code :

<?php

function create_sellerid(){
$length = rand(4,14);
$number = "";
for ($i=0; $i < $length; $i++){
$new_rand = rand(0,9);
$number = $number . $new_rand;
}
return $number;
}

if ($_SERVER['REQUEST_METHOD'] == "POST" )
{
if (!$db = new PDO("mysql:host=localhost;dbname=shopdb","root","dani"))
{
die("cannot connect to database");
}


echo "<pre>";
print_r($_POST);
echo "</pre>";





$arr['seller_id']= create_sellerid();
$arr['compname'] = $_POST['compname'];
$arr['usrname'] = $_POST['usrname'];
$arr['email'] = $_POST['email'];
$arr['birth'] = $_POST['birth'];
$arr['phone'] = $_POST['phone'];
$arr['pswrd'] = hash('sha1' , $_POST['pswrd']);


$query = "insert into sellers (seller_id,compname,usrname,email,birth,phone,pswrd) values (:seller_id,:compname,:usrname,:email,:birth,:phone,:pswrd)";

$stm = $db->prepare($query);
if ($stm)
{
$check = $stm->execute($arr);
if (!$check)
{
echo "\nPDO::errorInfo():\n";
print_r($db->errorInfo());
//echo "error";

}
else
{

header("location : index.php");
}
}
}


?>

1 réponse

Messages postés
33011
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 juin 2021
3 572
Messages postés
33011
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 juin 2021
3 572
Au passage.. ta colonne seller_id est de type auto-increment ?
Si oui.. pas besoin de générer un ID .. ça se fera tout seul.
Et dans ce cas, il ne faut pas spécifier la colonne dans ta requête SQL.

Je précise également que pour sécuriser les mots de passe, on n'utilise plus le sha1 ...
A la place, tourne toi vers la fonction php : password_hash


PS: A l'avenir, pour poster du code sur le forum, merci d'utiliser les balises de code
Explications ( à lire ENTIEREMENT !! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code