将MySQL表与特定值相关联

时间:2013-07-25 18:07:53

标签: php mysql

我想要做的很简单:我想从数据库中恢复数据,只有第一个表(存储在会话中)的ID与第二个表的ID相似。我的代码如下。唯一的问题是:现在的代码给了我以下错误:

查询无效:您的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>

2 个答案:

答案 0 :(得分: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']) ...

答案 1 :(得分:0)

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

试试上面的代码

您必须将您的条件置于单引号