2015-07-28 2 views
0

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'reads='241', picsWay='63526'' at line 1' in /home/asd/public_html/asdd/proccesNewsAdd.php:25 Stack trace: #0 /home/asd/public_html/asdd/proccesNewsAdd.php(25): PDOStatement->execute(Array) #1 {main} thrown in /home/asd/public_html/asdd/proccesNewsAdd.php on line 25вставки в MySQL с PDO - ошибка

<? 
    // Post datas 
    $date    = date('d.m.Y'); 
    $postNewsTitle  = $_POST['newsTitle']; 
    $postNewsContent = $_POST['newsContent']; 
    $writer1   = 'Alen Sky'; 
    $reads1    = 241; 
    $picsWay1   = 63526; 

    $insertNewsAdd = $conn -> prepare('INSERT INTO news SET date=:date, title=:title, content=:content, writer=:writer, reads=:reads, picsWay=:picsWay'); 
    $insertNewsAdd -> execute(array(
     'date'  => $date, 
     'title'  => $postNewsTitle, 
     'content' => $postNewsContent, 
     'writer' => $writer1, 
     'reads'  => $reads1, 
     'picsWay' => $picsWay1, 
    )); 
?> 
+3

Может быть, потому что читает это зарезервированное ключевое слово MySQL. – frz3993

ответ

1

reads зарезервированное слово в MySQL. Если вы хотите использовать его в качестве имени столбца вы должны обернуть его в обратных кавычках везде вы использовать его в SQL statementlike это:

`reads` 

MySQL reserved words

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