1

我想做的很简单:我想从数据库中恢复数据,只有第一个表的 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>
4

2 回答 2

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']) ...
于 2013-07-25T18:10:34.297 回答
0

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

试试上面的代码

您必须将您的条件放在单引号中

于 2013-07-25T18:10:28.523 回答