2013-07-25 2 views
1

Что я хочу сделать довольно просто: я хочу восстановить данные из базы данных, только там, где идентификатор первой таблицы (хранится в сеансе) аналогичен идентификатору второй таблицы , Мой код приведен ниже. Единственная проблема: настоящий код дает мне следующую ошибку:Отнести таблицу MySQL к определенному значению

Запрос недопустим: у вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MySQL, для правильного синтаксиса, используемого рядом с '.' по строке 1

Что я делаю неправильно? Спасибо за вашу помощь!

<?php include "base.php"; ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

<?php 
//We check if the user is logged 
if(isset($_SESSION['Username'])) 
{ 
?> 

<?php 

//query 
$query = mysql_query("select TitreEvent, DescriptionEvent from users_event where ID = .$_SESSION [id].") or die ('Query is invalid: ' . mysql_error()); 

//write the results 

while ($row = mysql_fetch_array($query)) { 
echo $row['TitreEvent'] . " " . $row['DescriptionEvent'] . ""; 

// close the loop 
} 

?> 


<div class="message">To access this page, you must be logged.<br /> 
<a href="http://www.groupe90.webege.com/index.php">Log in</a></div> 
<?php 
} 
?> 
      <div class="foot"><a href="<?php echo $url_home; ?>">Go Home</a> - <a href="http://www.webestools.com/">Webestools</a></div> 
    </body> 
</html> 
+0

* PSA: * Параметр '' mysql_ * функции [устаревшее в PHP 5.5] (http://php.net/manual /en/faq.databases.php#faq.databases.mysql.deprecated). Это не рекомендуется для написания нового кода, так как это предотвратит вас в будущем. Вместо этого используйте либо [MySQLi] (http://php.net/manual/en/book.mysqli.php), либо [PDO] (http://php.net/manual/en/book.pdo.php) и [быть лучшим разработчиком PHP] (http://jason.pureconcepts.net/2012/08/better-php-developer/). –

ответ

2

Вашего PHP сломан, где вы строите строку запроса:

$query = mysql_query("select [...snip...] where ID = .$_SESSION [id].") or die ('Query is invalid: ' . mysql_error()); 
                ^-- here   

вы никогда не заканчивали строку, поэтому часть $ _SESSION на самом деле часть строки запроса, производя

where ID = Array [id]. 

Это должно быть

where ID = " . $_SESSION['id']) ... 
0

$query = mysql_query("select TitreEvent, DescriptionEvent from users_event where ID = '$_SESSION[id]'") or die ('Query is invalid: ' . mysql_error());

Попробуйте код выше

Вы должны поставить условие в одинарных кавычках

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