慕丝7291255
我自己测试了一下,到是没出现你这样的问题;感觉上可能问题出在"SELECT * FROM message where id=".$_GET['id'] 这一语句上;我的测试代码:(用DEDECMS数据库测试的)<?php$cfg_dbhost = 'localhost';$cfg_dbname = 'dedecmsv57utf8';$cfg_dbuser = 'root';$cfg_dbpwd = '';$conn = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);mysql_select_db($cfg_dbname);$rs = mysql_query('select * from dede_area',$conn);while( $row = mysql_fetch_array($rs) ){//print($row['id']." - ");//print($row['name']."<br />");?><a href="?id=<?php echo $row['id'];?>" ><?php echo $row['name'];?></a><?php}$id = $_GET['id'] ? $_GET['id'] : 1; //加上这一句我看挺有必要的,可以防止undefinde index的错误发生。个人感觉比直接在查询语句中使用$_GET安全可靠得多。$rs = mysql_query("select * from dede_area where id = ".$id,$conn);$row = mysql_fetch_array($rs);print($row);?>再回头看你的问题描述,以及你的代码,感觉楼上说重复赋值的原因就有道理了。$SQL被你重复赋值后的值为"SELECT * FROM message order by id desc",在执行查询后,返回的是message这张表的全部数据,并且按倒序排列。所以你无论怎么传值,都只得到该表的最后一行的数据。