PHP异常处理破坏用户创建脚本

时间:2015-04-11 20:33:59

标签: php exception pdo try-catch

我已经坚持这个问题大约三天了,我开始感到沮丧。当我在没有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';
}

?>

我有点不练习所以任何建议都会非常感激。

感谢。

0 个答案:

没有答案