Guarda i tuoi segnaposto con nome:
(:User_Name, :billingemail, :password, :purchasedata, :active_code)
e
$stmt->bindparam(":user_name",$uname);
$stmt->bindparam(":user_mail",$email);
$stmt->bindparam(":user_pass",$password);
$stmt->bindparam(":active_code",$code);
$stmt->bindparam(":purchasedata",$purchasedata);
- Non corrispondono.
Ogni segnaposto denominato deve corrispondenza e in lettera.
Esempio:
:user_name
e :User_Name
sono non lo stesso.
quindi qui:
(:user_name, :user_mail, :user_pass, :purchasedata, :active_code)
Il manuale è piuttosto esplicito su questo:
e non andare in diretta con questo utilizzando MD5, non è più sicuro.
Usa password_hash()
:
Verifica la presenza di errori:
- http://php.net/manual/en/pdo. error-handling.php
- http://php.net/manual/en/function. error-reporting.php
e assicurati che i nomi delle colonne siano corretti e che le lettere maiuscole possano essere un fattore determinante.