2015-04-08 5 views
-2

Я получаю сообщение об ошибке при создании вывода из моей базы данных.

СООБЩЕНИЕ ОШИБКИ: «Ошибка анализа: ошибка синтаксиса, неожиданный конец $ в XXXXXXXXX.php в строке 26."

Этот код используется ниже.

<?php 
    require('connectDB.php'); 

    if ($connection) { 
     echo "Connected to database!"; 
    } else { 
      die("Connection failed: " . mysqli_connect_error()); 

    $query = "SELECT title, description, body, created FROM diary_post"; 
    $result = mysql_query($query); 

    $retval = mysql_query($query, $connection); 
    if(! $retval) 
    { 
     die('Could not get data: ' . mysql_error()); 
    } 
    while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) 
    { 
     echo "title :{$row['title']} <br> ". 
      "description : {$row['description']} <br> ". 
      "body : {$row['body']} <br> ". 
      "created : {$row['created']} <br> ". 
      "--------------------------------<br>"; 
    } 
    echo "Fetched data successfully\n"; 
    mysql_close($conn); 
    ?> 

Есть ли у кого-нибудь предложения, почему это не работает? Спасибо.

+0

'XXXXXXXXX.php' И какой файл xxxxx? Потому что у вас нет '$ end' в этом коде! Таким образом, ошибка не в коде, который вы нам показываете! – Rizier123

+0

Вы потеряли '' 'после вашего сообщения о ошибке соединения mysqli. – jeroen

ответ

1

Ваш пункт else отсутствует закрывающую фигурную скобку:

<?php 
require('connectDB.php'); 

if ($connection) { 
    echo "Connected to database!"; 
} else { 
     die("Connection failed: " . mysqli_connect_error()); 
} // This should be here 
$query = "SELECT title, description, body, created FROM diary_post"; 
//$result = mysql_query($query); 

$retval = mysql_query($query, $connection); 
if(! $retval) 
{ 
    die('Could not get data: ' . mysql_error()); 
} 
while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) 
{ 
    echo "title :{$row['title']} <br> ". 
     "description : {$row['description']} <br> ". 
     "body : {$row['body']} <br> ". 
     "created : {$row['created']} <br> ". 
     "--------------------------------<br>"; 
} 
echo "Fetched data successfully\n"; 
mysql_close($conn); 
?> 

Предложение: используйте хороший IDE с кронштейном-соответствия и правильной подсветки синтаксиса, он будет делать ошибки, как это совершенно очевидно.

Редактировать: Как @ Rizier123 предложил в комментариях, вы не должны получать неожиданную переменную $end ошибку, пожалуйста, покажите нам содержимое connectDB.php, а также, может быть больше к этому в конце концов.

+0

Все еще не объясняет, почему OP получает: 'неожиданный $ end'. Я просто догадываюсь, что ошибка находится в 'connectDB.php', который OP не показывает нам здесь, и он никогда не достигает этой строки здесь – Rizier123

+0

Он делает - PHP закончил анализ файла, и он' end'-ed, когда он не должен , потому что оператор не был завершен закрывающей скобкой. Я согласен, что знак доллара перед ним не самый полезный намек, но это одна из профессиональных опасностей с PHP :) –

+0

кстати. mysql_close ($ сопп); не должно быть mysql_close ($ connection); ? – zdeniiik