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);
?>
输入资料后,网页可以显示输入的内容,但是数据库提取不到,帮忙看下哪个程序编写有误? 展开
<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);
?>
输入资料后,网页可以显示输入的内容,但是数据库提取不到,帮忙看下哪个程序编写有误? 展开
展开全部
$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语句上
修改成
$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语句上
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两种可能,语句或是数据库的问题,语句没错,那可能就是你的数据库链接时出现了错误,你看看你的链接有没有错误!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
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( )."')`";
试试
改成:
$sql="INSERT INTO`staturn`.`gbook`(`id`,`name`,`sex`,`email`,`info`,`ip`,`time_at`)VALUES(NULL,'".$name."','".$sex."','".$email."','".$info."','".$ip."', '".NOW( )."')`";
试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你
var_dump($lnk);如果是FALSE说明连接不上数据库
再
var_dump($result);看一下是不是FALSE,如果是FALSE,说明你语句错了
var_dump($lnk);如果是FALSE说明连接不上数据库
再
var_dump($result);看一下是不是FALSE,如果是FALSE,说明你语句错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库连接正常吗?有报错吗?
另外,那个id字段是自动增长的吧?不用再插入了!
即: $sql="INSERTINTO`staturn`.`gbook`(`name`,`sex`,`email`,`info`,`ip`,`time_at`)VALUES('$name','sex','email','info','$ip', NOW( ))`";
另外,那个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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询