PHP编写“留言板”程序,网页可以显示输入内容,数据库提取不到数据,请帮忙看程序哪里有误?

HTM语法如下:<html><head><metahttp-equiv="Content-Language"content="zh-cn"><metahttp-equiv... HTM语法如下:
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>留言版</title>
</head>
<body>

<form method="POST" action="input.php">

<p>您的姓名: <input type="text" name="name" size="25"></p>
<p>您的性别: <input type="radio" value="1" name="sex" checked>男生 <input type="radio" value="0" name="sex" checked>女生</p>
<p>您的Email:<input type="text" name="email" size="25"></p>
<p>您的留言内容:</p>
<p><textarea rows="8" name="info" cols="37"></textarea></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="重新设定" name="B2"></p>

</form>
</body>
</html>

PHP语法如下:
<?php

echo $_POST['name'],'<p>';
echo $_POST['sex'],'<p>';
echo $_POST['email'],'<p>';
echo $_POST['info'],'<p>';

$name=$_POST['name'];
$sex=$_POST['sex'];
$email=$_POST['email'];
$info=$_POST['info'];

$ip=getenv('REMOTE_ADDR');

$db_host="localhost";
$db_user ="root";
$db_pwd ="123456";
$db_name ="staturn";

$lnk = mysql_connect('localhost', $db_user, $db_pwd)
or die ('Not connected : ' . mysql_error());
mysql_select_db($db_name, $lnk) or die ('Can\'t use database : ' . mysql_error());

mysql_query("SET NAMES 'utf8'", $lnk);

$sql="INSERTINTO`staturn`.`gbook`(`id`,`name`,`sex`,`email`,`info`,`ip`,`time_at`)VALUES(NULL,'$name','sex','email','info','$ip', NOW( ))`";

$result=mysql_query($sql);

$id=mysql_insert_id();

mysql_close($lnk);

?>

输入资料后,网页可以显示输入的内容,但是数据库提取不到,帮忙看下哪个程序编写有误?
展开
 我来答
miniapp16df8f624f18
2011-05-06 · TA获得超过157个赞
知道小有建树答主
回答量:105
采纳率:0%
帮助的人:82.2万
展开全部
$sql="INSERTINTO`staturn`.`gbook`(`id`,`name`,`sex`,`email`,`info`,`ip`,`time_at`)VALUES(NULL,'$name','sex','email','info','$ip', NOW( ))`";
修改成
$sql="INSERT INTO`staturn`.`gbook`(`id`,`name`,`sex`,`email`,`info`,`ip`,`time_at`)VALUES(NULL,"“$name”,“$sex","$email","$info","$ip", NOW( ))"; 这样写,你那样写,插入数据库中的数据肯定是不对的,原因如下
第一:单引号内的变量是不会被解析的,也就是 '$name' 写入数据库的就是 $name 而不是你输入的内容。
第二:sex,email,info,你没有加$符号,也是字符。如果数据库中没有数据(不管数据对不对),你的sql就是没有执行成功
第三:你的仔细检查你的sql语句,肯定有地方不下正确。最大的问题还是在sql语句上
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浅来天桦5337
2011-05-06 · TA获得超过6.7万个赞
知道大有可为答主
回答量:2.8万
采纳率:0%
帮助的人:3632万
展开全部
两种可能,语句或是数据库的问题,语句没错,那可能就是你的数据库链接时出现了错误,你看看你的链接有没有错误!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-05-06
展开全部
$sql="INSERTINTO`staturn`.`gbook`(`id`,`name`,`sex`,`email`,`info`,`ip`,`time_at`)VALUES(NULL,'$name','sex','email','info','$ip', NOW( ))`";
改成:
$sql="INSERT INTO`staturn`.`gbook`(`id`,`name`,`sex`,`email`,`info`,`ip`,`time_at`)VALUES(NULL,'".$name."','".$sex."','".$email."','".$info."','".$ip."', '".NOW( )."')`";
试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
goshimo
2011-05-06 · TA获得超过524个赞
知道小有建树答主
回答量:883
采纳率:0%
帮助的人:452万
展开全部

var_dump($lnk);如果是FALSE说明连接不上数据库

var_dump($result);看一下是不是FALSE,如果是FALSE,说明你语句错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQ277980080
2011-05-06 · TA获得超过766个赞
知道小有建树答主
回答量:775
采纳率:0%
帮助的人:654万
展开全部
数据库连接正常吗?有报错吗?
另外,那个id字段是自动增长的吧?不用再插入了!
即: $sql="INSERTINTO`staturn`.`gbook`(`name`,`sex`,`email`,`info`,`ip`,`time_at`)VALUES('$name','sex','email','info','$ip', NOW( ))`";

参考资料: http://www.baidu.com/s?bs=%CC%EC%D1%C4PHP&f=8&wd=%CC%EC%D1%C4PHP%B2%A9%BF%CD

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式