我想要做的很简单:我想从数据库中恢复数据,只有第一个表(存储在会话中)的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>
答案 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());
试试上面的代码
您必须将您的条件置于单引号