我有以下php脚本片段:
try{
$con = new PDO("mysql:host=$host;dbname=$databaseName;charset=utf8",$user,$pass);
$con->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dat = $_REQUEST['dat'];
$poll = $dat[0];
$date = $dat[1];
$zip = $dat[2];
$answer = $dat[3];
$q = $con->prepare("INSERT INTO votes (poll_id, date, location, answers) VALUES (:poll, :date, :zip, :answer)");
$q->bindParam(':poll', $poll, PDO::PARAM_INT);
$q->bindParam(':date', $date, PDO::PARAM_STR);
$q->bindParam(':zip', $zip, PDO::PARAM_STR);
$q->bindParam(':answer', $answer, PDO::PARAM_STR);
if ($q->execute){
echo "worked";
} else {
echo "didn't work";
}
}catch(PDOException $e){
echo $e->getMessage();
}
每次我尝试运行此脚本时,都会收到内部服务器错误(500)。没有回音,没有错误信息,没有。当我删除错误处理时,我得到200,但“没有工作”消息。
请帮忙!
编辑:添加了ini_set(“display_errors”,1);至页面顶部。有些原因500错误不再发生,但仍然“无效”。
答案 0 :(得分:4)
尝试将if ($q->execute){
更改为if ($q->execute()){