PHP数据提交不到数据库。
补充:index.php
<?php
include ("conn.php");
if ($_POST['submit'])
{
$sql="insert into db (id,user,title,content,lasdate)".
"values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())";
mysql_query($sql);
echo "提交成功";
}
?>
<html>
<body>
<form action="index.php" method="post">
用户名: <input type="text" name="user" /><br>
标 题: <input type="text" name="title" /><br/>
内 容: <textarea name="content"></textarea><br/>
<input type="submit" name="submit" value="提交留言"/>
</form>
</body>
</html>
conn.php
<?php
$con = mysql_connect("localhost:6033","root","root") or die ("错");
mysql_select_db("bbs", $con);
mysql_query("set names 'GBK'"); //使用GBK中文编码;
?>
SQL表
CREATE TABLE `db` (
`id` tinyint(1) NOT NULL auto_increment,
`user` varchar(25) NOT NULL,
`title` varchar(50) NOT NULL,
`content` tinytext NOT NULL,
`lastdate` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;
答案:将sql语句改为下面的试试
$sql="insert into db (user,title,content,lasdate) values ('".$_POST['user']."','".$_POST['title']."','".$_POST['content']."','".date("Y-m-d")."')";
不过数据入库前要做检查工作,另外用数组的时候最好用 $_POST['user'] 而不是 $_POST[user],这是个效率问题,开始学编程就要养成良好的习惯。
其他:先看看数据库结构,看每个字段值允许不允许空. 再看看程序的判断逻辑,看是不是写了些对表单获取的值的一些过滤条件之类的,什么不能为空之类的. 建议 id是自增长的吧,去掉id这项 1、id是自增长的吧,去掉id这项
2、lastdate是date格式,插入数据的时候用date("Y-m-d") 数据库中数据表的字段长度设置太短了,而且要注意有些字段你设置不为空哦 首先检查数据库是否连接上去
如果数据库连接上去了,可以输出SQL,然后放到你的数据库管理工具里执行一下
上一个:php网站的MYSQL怎样创建?PHP连接mysql 应该怎样连接呢?
下一个:有关PHP连MYSQL问题