2014-02-20 2 views
1

У меня есть следующий скрипт: фрагментIssue Вставка строка MySQL, без ошибок MySQL

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, но сообщение «не работает».

Пожалуйста, помогите!

EDIT: Добавлено ini_set ("display_errors", 1); К началу страницы. Некоторая причина 500 ошибки больше не возникает, но все равно получение «не работает».

+1

Включите ваши ошибки PHP. Добавьте 'ini_set (" display_errors ", 1);' вверху вашего файла. – Rikesh

+0

Добавлено, почему-то ошибка 500 теперь ушла, но все равно получение «не работает». – user3317337

ответ

4

пытаются изменить if ($q->execute){ к if ($q->execute()){

+0

Купить @ Алло пиво! Благодаря! Принят ответ через пару минут (как только я получу разрешение =]) – user3317337

Смежные вопросы