楼 主
index »
PHP+MYSQL编程 » [求助]高手帮忙看看这个很疑惑的问题啊
发表:2005-07-15 01:51:27 阅读 3002 次 回复 7 次 得分3 |
字号
10px
12px
14px
16px
18px
20px
24px
字色
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
[求助]高手帮忙看看这个很疑惑的问题啊
这是一个留言板的程序,在WINXP下一切正常,可一放到服务器上SQL语句就像失效一样,不知道是什么原因,困扰我好久拉,大家帮我瞅瞅,先谢谢啦
第一个guest.php用户输入信息
<html>
<body>
<?
$id=$_GET["id"];
$name=$_GET["name"];
$email=$_GET["email"];
$time=$_GET["time"];
$title=$_GET["title"];
$body=$_GET["body"];
$page=$_GET["page"];
mysql_connect("localhost","root","root");
mysql_select_db("webdom");
$str="select * from guestbook order by id desc;";
$result=mysql_query($str);
$num=mysql_num_rows($result);
$last=ceil($num/10);
if($page<1) $page=1;
if($page>$last) $page=$last;
mysql_data_seek($result,($page-1)*10);
for($i=1;$i<=10;$i++)
{
$row=mysql_fetch_array($result);
//echo $row['time'];
echo '<TABLE height=160 cellSpacing=0 cellPadding=0 width=696 border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=0 width=695 border=0>
<TBODY>
<TR>
<TD style="PADDING-LEFT: 16px" width=695 bgColor="#d4cdbe" height=26>
<B>留言人:</B>'.$row["name"].'
<SPAN style="PADDING-LEFT: 360px">'.$row["time"].'</SPAN>
</TD>
</TR>
<TR>
<TD height=2></TD></TR><TR>
<TD style="PADDING-LEFT: 12px; PADDING-BOTTOM: 8px; PADDING-TOP: 8px" bgColor="#ddd7cb">
<TABLE cellSpacing=0 cellPadding=0 width=670 border=0>
<TBODY>
<TR>
<TD class=b1 align=middle width=84 height=84>
<IMG height=7 src= width=74>
</TD>
<TD width=10 rowSpan=2></TD>
<TD vAlign=top width=576 rowSpan=2>标题:'.$row["title"].' <HR color="#cec7b7"> 附言:'.$row["body"].'</TD></HR>
<TR>
<TD align=middle height=30>
</A> </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>';
}
$up=$page-1;
$down=$page+1;
?>
<form action=guestbook.php method=get>
<form action=guest.php method=get>
<?if ($page!=1)?>
<a href=guest.php?page=1>第一页</a>
<a href=guest.php?page=<?echo $up;?>>上一页</a>
<?if($page!=$last)?>
<a href=guest.php?page=<?echo $down;?>>下一页</a>
<a href=guest.php?page=<?echo $last;?>>最后一页</a>
页次:<font color=red> <?echo $page;?>/<?echo $last;?>
</form>
</body>
</html>
第二个guestbook.php分页显示用户的信息
<html>
<body>
<?
$send=$_POST["send"];
$name=$_POST["name"];
$email=$_POST["email"];
$time=$_POST["time"];
$title=$_POST["title"];
$body=$_POST["body"];
$id=$_POST["id"];
if($send=="提交")
{
if($name=="")
{
echo "<center>";
echo "<h2><font color=red>错误信息 !</font></h2>";
echo "对不起,<font color=red>姓名</font>不能为空!<br>";
echo "<hr></hr>";
}
else if($title=="")
{
echo "<center>";
echo "<h2><font color=red>错误信息 !</font></h2>";
echo "对不起,<font color=red>留言</font>不能为空!<br>";
echo "<hr></hr>";
}
mysql_connect("localhost","root","root");
mysql_select_db("webdom");
$time=date("Y/m/d H:i:s");
$str="insert into guestbook (name,email,time,title,body,id) values ('$name','$email','$time','$title','$body','id')";
mysql_query($str);
}
?>
<form action=guestbook.php method=post>
<TABLE style="MARGIN-TOP: 9px; MARGIN-BOTTOM: 14px" cellSpacing=0 cellPadding=0 width=628 bgColor=#d4cdbe border=0>
<TBODY>
<TR>
<TD class=c01 style="PADDING-LEFT: 7px" height=27>留言</TD></TR>
<TR>
<TD style="PADDING-LEFT: 12px" height=150>
<TABLE cellSpacing=0 cellPadding=0 width=616 border=0>
<TBODY>
<TR>
<TD class=c02 width="46%" height=30>留言人姓名: <INPUT size=18 name=name></TD>
<TD class=c02 height=30>Email: <INPUT size=12 name=email>(可选)</TD></TR>
<TR>
<TD class=c02 colSpan=2>简短的留言: <INPUT size=59 name=title></TD></TR>
<TR>
<TD colSpan=2><TABLE style="MARGIN-TOP: 4px" height=97 cellSpacing=0 cellPadding=0 width=463 border=0>
<TBODY>
<TR>
<TD class=c02 vAlign=top width=91>多写几句话:<BR>(少于200字)</TD>
<TD vAlign=top><TEXTAREA style="PADDING-LEFT: 6px; WIDTH: 366px; PADDING-TOP: 10px; HEIGHT: 79px"
name=body></TEXTAREA>
<center><input type=submit value=提交 name=send><a href=guest.php></a></center>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR>
</form>
</body>
</html>
1#楼
回复人:danssion
注册时间:2005-06-30
主题/回复:43/107
积分:723
等级:★★★(六级)
称号:声名鹊起
用户联系方式已设置为保密
1#楼 发表于2005-07-15 02:11:57
评分:1
$str="insert into guestbook (name,email,time,title,body,id) values ('$name','$email','$time','$title','$body','id')";
只能看到 ‘id’=> '$id'
眼拙~~~!
2#楼
回复人:danssion
注册时间:2005-06-30
主题/回复:43/107
积分:723
等级:★★★(六级)
称号:声名鹊起
用户联系方式已设置为保密
2#楼 发表于2005-07-15 02:12:27
评分:♂
再看看:
$str="select * from guestbook order by id desc;";
有问题
我觉得
3#楼
回复人:nunusun
注册时间:2005-06-27
主题/回复:4/6
积分:426
等级:★★☆(五级)
称号:略有小成
3#楼 发表于2005-07-15 02:19:16
评分:×
那个id是我疏忽,已经改了
select * from guestbook order by id desc;"有什么问题啊,给俺说说
非常感谢
4#楼
回复人:danssion
注册时间:2005-06-30
主题/回复:43/107
积分:723
等级:★★★(六级)
称号:声名鹊起
用户联系方式已设置为保密
4#楼 发表于2005-07-15 04:52:05
评分:♂
5#楼
回复人:一起PHP
注册时间:2004-02-27
主题/回复:247/1521
积分:4649
等级:★★★★★☆(十一级)
称号:论坛圣人
5#楼 发表于2005-07-15 17:24:07
评分:1
“可一放到服务器上SQL语句就像失效一样”
这句话就好像病人对医生说:“我在家里好好的,一出门就觉得不对劲”
这样的描述,实在很难估测错误的存在。能不能把症状说一下呢?
再一个,如果问题真出在SQL语句的话,除了上面两位指出的问题,可能还有一个问题,那就是你的服务器是windows还是unix/linux的?记得一位网友曾经证实,在linux/unix系统上,PHP中的SQL语句区分大小写,也就是说mysql关键字要求大写,也就是写成:
SELECT * FROM guestbook ORDER BY id DESC"
试一下。不行再说。
6#楼
回复人:nunusun
注册时间:2005-06-27
主题/回复:4/6
积分:426
等级:★★☆(五级)
称号:略有小成
6#楼 发表于2005-07-15 21:47:55
评分:×
首先谢谢大家的回复
那我说一下具体是怎么回事吧
在win 下,执行guestbook.php,用户可将自己的信息及留言发布,按提交后,这些数据都会入库,而且执行guest.php后,可将所有正确提交过信息的用户及他们的留言显示出来
在服务器下(linux环境),执行guestbook.php就出现了问题,数据根本就没入库,刚开始我怀疑是数据库的连接有问题,所以单用一条插入语句试了试,数据可以入库,所以这个怀疑排除
刚才注意了一下sql关键字的大小写,还是老样子,不知道为何,希望大家帮忙看看是什么问题
7#楼
回复人:cykk
注册时间:2004-12-30
主题/回复:41/99
积分:688
等级:★★★(六级)
称号:声名鹊起
7#楼 发表于2005-07-18 21:04:20
评分:1
你把这段
<?
$send=$_POST["send"];
$name=$_POST["name"];
$email=$_POST["email"];
$time=$_POST["time"];
$title=$_POST["title"];
$body=$_POST["body"];
$id=$_POST["id"];
if($send=="提交")
{
if($name=="")
{
echo "<center>";
echo "<h2><font color=red>错误信息 !</font></h2>";
echo "对不起,<font color=red>姓名</font>不能为空!<br>";
echo "<hr></hr>";
}
else if($title=="")
{
echo "<center>";
echo "<h2><font color=red>错误信息 !</font></h2>";
echo "对不起,<font color=red>留言</font>不能为空!<br>";
echo "<hr></hr>";
}
mysql_connect("localhost","keke","8426406");
mysql_select_db("kk");
$time=date("Y/m/d H:i:s");
$str="insert into guestbook (name,email,time,title,body,id) values ('$name','$email','$time','$title','$body','id')";
mysql_query($str);
}
?>
放到<form>里运行就行了,运行正常!注意改改连接的程序还有数据库!