我已经坚持这个问题大约三天了,我开始感到沮丧。当我在没有try catch块的情况下运行下面的代码时,它工作正常。但是,一旦我将它包装在try catch块中,它就不起作用了。我检查了php手册和搜索论坛甚至我的旧代码,但无论出于何种原因它都无法正常工作。我甚至尝试过更换服务器,我已经通过了XAMPP,MAMP和Turnkey LAMP服务器。其中没有解决问题。
<?php
//Pull variables from post array
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$confirm_pw = $_POST['confirm_password'];
$acc_type = $_POST['account_type'];
try{
require_once('../connection/create_conn.php');
//build bound sql statment
$create_user = "INSERT INTO users (first_name, last_name, username, email, password, account_type)
VALUES(:first, :last, :user, :email, :pass, :acc)";
//prepare the statment
$cmd = $db->prepare($create_user);
//bind the parameters to the sql placeholders
$cmd->bindParam(':first', $first_name , PDO::PARAM_STR, 40);
$cmd->bindParam(':last' , $last_name , PDO::PARAM_STR, 40);
$cmd->bindParam(':user' , $username , PDO::PARAM_STR, 30);
$cmd->bindParam(':email', $email , PDO::PARAM_STR, 254);
$cmd->bindParam(':pass' , $password , PDO::PARAM_STR, 255);
$cmd->bindParam(':acc' , $acc_type , PDO::PARAM_STR, 40);
$cmd->execute();
$db = null;
}catch (Exception $e)
{
echo 'error';
}
?>
我有点不练习所以任何建议都会非常感激。
感谢。