哪里错了。为什么不能写入数据。 php mysql。

<?php/*CREATETABLE`message`(`id`intNOTNULLAUTO_INCREMENT,`user`varchar(25)NOTNULL,`ti... <?php

/*CREATE TABLE `message` (
`id` int NOT NULL AUTO_INCREMENT,
`user` varchar(25) NOT NULL ,
`title` varchar(50) NOT NULL ,
`content` text NOT NULL ,
`lastDate` date NOT NULL ,
PRIMARY KEY (`id`)
)ENGINE = INNODB DEFAULT CHARSET=gbk AUTO_INCREMENT=1

*/

$conn = @ mysql_connect("localhost","root","");
mysql_select_db("bbs",$conn);
mysql_query("set names UTF-8");

if($_POST['submit'])
{
$sql="insert into message(id,userName,titel,content,lastDate) values('','$_POST[userName]','$_POST[title]','$_POST[content]',now

())";
mysql_query($sql);
echo "发布成功。";
}
?>
<form action="add.php" method="post" >
用户名:<input type="text" name="userName" size="12"><br/>
标题:<input type="text" name="title" ><br/>
说点什么:<textarea name="content" ></textarea><br/>
<input type="submit" name="submit" value="添加留言">
</form>
展开
 我来答
夏子華
2012-07-03 · TA获得超过1011个赞
知道小有建树答主
回答量:619
采纳率:100%
帮助的人:396万
展开全部
2个问题:
1. user 是 mysql 的保留关键字 建议修改或者在使用的时候 `user` 这样使用。
2.你表中的其中一个字段是title,而你在程序中的是 "titel"
错误在这两个位置
淡然行独
2012-07-03 · TA获得超过1102个赞
知道小有建树答主
回答量:402
采纳率:0%
帮助的人:378万
展开全部
你数据库里 message 表中的字段为(id,user,title,content,lastdate),但是你下面写的却没有对应.
这句话中:$sql="insert into message(id,userName,titel,content,lastDate)
"userName" 应该换为"user" 其它不变,,, 应该就可以了..你试一下..
建议:1.在建表时, 用户名最好不要写成"user"
2.如果哪里有错误,你可以尝试一句句加 echo 来打印测试,看哪里出了问题..
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
treemp3
2012-07-03
知道答主
回答量:18
采纳率:0%
帮助的人:7.2万
展开全部
titel应该是title吧?
你可以在页面加入error_reporting(E_ALL) 进行调试。
把mysql的错误也输出来看看:
$result = mysql_query($sql) or die(mysql_error());
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-07-03
展开全部
insert语句:titel?title?;如果id字段设置为AUTO_INCREMENT,不应插入空值,直接
insert into message (userName,title,content,lastdate) values('name','title','content',now())
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式