以下功能无效。我不明白为什么。
function access_apply($email,$pwd,$forname,$surname,$postcode,$telephone,$mobile){
global $cnx;
$pwd = bcrypt_hash($pwd);
$q = $cnx->prepare("INSERT INTO `users` (email, pwd, forename, surname, postcode, telephone, mobile) VALUES (:email, :pwd, :forename, :surname, :postcode, :telephone, :mobile)");
$q->execute(array(':email' => $email, ':pwd' => $pwd, ':forename' => $forename, ':surname' => $surname, ':postcode' => $postcode, ':telephone' => $telephone, ':mobile' => $mobile));
}
一旦调用它,代码就会中断并且不再执行任何操作。
答案 0 :(得分:4)
因此,请在脚本顶部添加此代码:
error_reporting(E_ALL);
ini_set('display_errors',1);
连接后和这个:
$cnx->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
查看ajax请求中发生的事情使用Firebug(网络标签,响应部分)
或者 - 好多了! -
启用错误记录并观察Web服务器错误日志中的所有错误 这样做会改变以前的设置并添加其他设置
ini_set('display_errors',0);
ini_set('log_errors',1);
答案 1 :(得分:0)
看起来它可能是函数参数中的拼写错误。一个是$ forname,你在数组中分配$ forename。因此,它可能是未定义的变量,或者正在发生的参数计数不匹配。