Xem phần giữ chỗ đã đặt tên của bạn:
(:User_Name, :billingemail, :password, :purchasedata, :active_code)
và
$stmt->bindparam(":user_name",$uname);
$stmt->bindparam(":user_mail",$email);
$stmt->bindparam(":user_pass",$password);
$stmt->bindparam(":active_code",$code);
$stmt->bindparam(":purchasedata",$purchasedata);
- Chúng không khớp.
Mỗi trình giữ chỗ được đặt tên phải khớp và bằng chữ cái.
Ví dụ:
:user_name
và :User_Name
không giống nhau.
vì vậy ở đây:
(:user_name, :user_mail, :user_pass, :purchasedata, :active_code)
Hướng dẫn này khá rõ ràng về điều này:
và đừng tiếp tục với vấn đề này khi sử dụng MD5, nó không còn an toàn nữa.
Sử dụng password_hash()
:
Kiểm tra lỗi:
- http://php.net/manual/en/pdo. error-processing.php
- http://php.net/manual/en/ Chức năng. error-report.php
và đảm bảo tên cột của bạn chính xác và chữ hoa có thể là một yếu tố.