2013-09-15 3 views
0
if (isset($_SESSION['logged_in'])) { 
if (isset($_POST['title'], $_POST['content'])) { 
    $title = $_POST['title']; 
    $content = $_POST['content']; 

    if (empty($title) or empty($content)) { 
     $error = 'All fields are required!'; 
    } else { 
     $query = $pdo->prepare("INSERT INTO articles (atricle_title, atricle_text, atricle_timestamp) VALUES (?, ?, ?)") 

     $query->bindValue(1, $title); //error is here 
     $query->bindValue(2, $content); 
     $query->bindValue(3, time()); 

     $query->execute(); 

     header(Location: index.php); 
} 

Кто-то знает, в чем проблема здесь? Сам код более того, но это только релевантная часть.Ошибка анализа: синтаксическая ошибка, неожиданный T_VARIABLE в bindValue

Спасибо.

ответ

1
$query = $pdo->prepare("INSERT INTO articles (atricle_title, atricle_text, atricle_timestamp) VALUES (?, ?, ?)") 

в этой линии, ; отсутствует

Эта линия тоже неправильно:

header(Location: index.php); 

Он должен выглядеть следующим образом:

header("location: index.php"); 
0

Ошибка возникает из-за того, что PHP предполагает, что строка, содержащая запрос, не закончилась, а следующий символ нарушает правило синтаксиса. Добавить строку с запятой ; в строку запроса.

$query = $pdo->prepare("INSERT INTO articles (atricle_title, atricle_text, atricle_timestamp) VALUES (?, ?, ?)"); 
0

You пропущено a ; в заявлении PDO и quotes на header().

<?php 

if (isset($_SESSION['logged_in'])) { 
if (isset($_POST['title'], $_POST['content'])) { 
    $title = $_POST['title']; 
    $content = $_POST['content']; 

    if (empty($title) or empty($content)) { 
     $error = 'All fields are required!'; 
    } else { 
     $query = $pdo->prepare("INSERT INTO articles (atricle_title, atricle_text, atricle_timestamp) VALUES (?, ?, ?)"); 

     $query->bindValue(1, $title); //error is here 
     $query->bindValue(2, $content); 
     $query->bindValue(3, time()); 

     $query->execute(); 

     header("Location: index.php"); 
} 
1

Пропущено; в конце строки ниже, поэтому на следующей строке отображается ошибка, когда вы пытаетесь привязать значение. $ query = $ pdo-> prepare ("INSERT INTO articles (atricle_title, atricle_text, atricle_timestamp) VALUES (?,?,?)");

а также заголовок (Location: index.php); необходимо сделать параметр как строку в функции заголовка.

Пожалуйста, попробуйте, и я знаю, если возникли проблемы.

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