当前位置:编程学习 > php >>

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问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,