Sehen Sie sich Ihre benannten Platzhalter an:
(:User_Name, :billingemail, :password, :purchasedata, :active_code)
und
$stmt->bindparam(":user_name",$uname);
$stmt->bindparam(":user_mail",$email);
$stmt->bindparam(":user_pass",$password);
$stmt->bindparam(":active_code",$code);
$stmt->bindparam(":purchasedata",$purchasedata);
- Sie stimmen nicht überein.
Jeder benannte Platzhalter muss übereinstimmen und in Großbuchstaben.
Beispiel:
:user_name
und :User_Name
sind nicht das gleiche.
also hier:
(:user_name, :user_mail, :user_pass, :purchasedata, :active_code)
Das Handbuch ist diesbezüglich ziemlich explizit:
und gehen Sie damit nicht live, indem Sie MD5 verwenden, es ist nicht mehr sicher.
Verwenden Sie password_hash()
:
Auf Fehler prüfen:
- http://php.net/manual/en/pdo. Fehlerbehandlung.php
- http://php.net/manual/en/function. error-reporting.php
und stellen Sie sicher, dass Ihre Spaltennamen korrekt sind und die Groß-/Kleinschreibung ein Faktor sein könnte.