PHP链接问题,郁闷,请大家帮帮忙

argenCHN 2006-12-24 12:47:41
<?
print "<a href=\"showMsg.php?id=$messageId\">$messageTitle</a>";
?>

想点击帖子标题然后显示帖子内容

///// showMsg.php
<?
require"config.ini"; //配置文件
$conn=mysql_connect($host,$dbuser,$dbpwd)or die(不能连接到数据库);
mysql_query("SET NAMES 'GB2312'");

$sql="select title,poster,content,time from bbs_message where
id=$messageId";

$result=mysql_db_query($dbname,$sql);
$r=mysql_fetch_row($result);

$msgPoster=$r["poster"];
$msgTitle=$r["title"];
$msgContent=$r["content"];
$msgTime=$r["time"];
?>
下面是html代码,显示内容部分 略

帖子是存在数据库里的
但是为什么得不到值呢????
...全文
269 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
argenCHN 2006-12-25
  • 打赏
  • 举报
回复
<?
require"config.ini";
$conn=mysql_connect($host,$dbuser,$dbpwd)or die(不能连接到数据库);

$messageId=$_GET['messageId'];
$sql="select title,poster,content,time from bbs_message where id = $messageId";
$result=mysql_db_query($dbname,$sql);
$r=mysql_fetch_array($result);

$msgTitle =$r["title"];
$msgPoster =$r["poster"];
$msgContent =$r["content"];
$msgContent =nl2br($msgContent);
$msgTime =$r["time"];
?>
我改成这样
$sql="select title,poster,content,time from bbs_message where id = $messageId";
中where id =数字 可以正确得到结果

但是$messageId=$_GET['messageId'];得不到值,为什么????
argenCHN 2006-12-25
  • 打赏
  • 举报
回复
yueliangdao0608((深圳)PHP和MYSQLQQ:38257291)
ciaky(小五)

太感谢两位了,按照你们说的已经做好了
也非常感谢其他的xdjm
genshing 2006-12-25
  • 打赏
  • 举报
回复
哈哈 楼上的正解
ciaky 2006-12-25
  • 打赏
  • 举报
回复
$messageId=$_GET['messageId'];.......汗死了!!!!


是$messageId=$_GET['id'];
lazyboy_wu 2006-12-25
  • 打赏
  • 举报
回复
$sql="select title,poster,content,time from bbs_message where id = $messageId";
这句之后:
print $sql;
看看sql的语句中的id是否和你需要的id一样?
$messageId= $_GET['messageId'] or exit("不能获取get值") ;
看看会出现不能获取的提示吗?
懒得去死 2006-12-25
  • 打赏
  • 举报
回复
<?
print "<a href=\"showMsg.php?id=".$messageId."\">".$messageTitle."</a>";
?>

想点击帖子标题然后显示帖子内容

///// showMsg.php
<?
require "config.ini"; //配置文件
$conn=mysql_connect($host,$dbuser,$dbpwd)or die("不能连接到数据库");
mysql_query("SET NAMES GB2312");

$sql="select title,poster,content,time from bbs_message where
id=".$messageId;

$result=mysql_db_query($dbname,$sql);
$r=mysql_fetch_row($result);

$msgPoster=$r["poster"];
$msgTitle=$r["title"];
$msgContent=$r["content"];
$msgTime=$r["time"];
?>
argenCHN 2006-12-24
  • 打赏
  • 举报
回复
自己顶下
iasky 2006-12-24
  • 打赏
  • 举报
回复
showMsg.php中
$messageId = $_GET['messageId'];
lazyboy_wu 2006-12-24
  • 打赏
  • 举报
回复
上面可能说的不对,但是我习惯把键值是0,1,2……这种成为索引数组,字母的键值为关联数组,其实在php中都是关联数组,在其他语言中,数组不可能说你跳过第二个数组元素,直接使用第三个元素,你必须是0,1,2,3这样的使用,而不能0,1,5,9这样的使用数组,关于这个概念我解释一下,说的不对,大家指出!!
lazyboy_wu 2006-12-24
  • 打赏
  • 举报
回复
mysql_fetch_row($result); 返回的好像是索引数组吧,即键值是0,1,2,3……
你改用mysql_fetch_array($result) 测试下,默认这个返回是索引数组+关联数组。
ak47_20002 2006-12-24
  • 打赏
  • 举报
回复
1:修改 config.ini,故意把密码改错,看运行时候报不报错

2:先去掉set names那功能,先看看对不对.

3:运行时候把$sql内容打印出来,echo $sql,然后copy下来,直接去mysql运行看看.
argenCHN 2006-12-24
  • 打赏
  • 举报
回复
上面写错了 是 1.$dbname在config.ini里
argenCHN 2006-12-24
  • 打赏
  • 举报
回复
iasky(C#_ASP_PHP) ( ) 信誉:99 Blog 2006-12-24 10:08:28 得分: 0


showMsg.php中
$messageId = $_GET['messageId'];

===================
我这样改了还是不行


hnxxwyq(独自流浪)

1.$dbame在config.ini里
2.$result=mysql_db_query($dbname,$sql);
lazyboy_wu 2006-12-24
  • 打赏
  • 举报
回复
$sql="select title,poster,content,time from bbs_message where
id=$messageId";
将上面的$messageId换成你的实际值,看看能返回结果吗?
怎么没有看到你的$dbname呢?
你用mysql_select_db选择表了吗?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧