日期:2014-05-17  浏览次数:20487 次

【求指点】做一个简易的留言板的功能,但数据库却添加不了数据
环境:Win7(x64)、Wamp集成(PHP5.4.3+MySQL5.5.24+Apache2.4.2+PHPMyAdmin3.5.1)
目的:做一个简易的留言板的功能,一单击“发表”可以在数据库中添加一条相关数据。
问题:按“发表”后,显示“插入成功”。但是后台数据库中却没有添加进去
-------------------------------conn.php------------------------------------
<?php
@mysql_connect("localhost","root","root")or die("MySQL连接失败了");
@mysql_select_db("db_php100_microblog")or die("DB连接失败");
mysql_query("set names 'gbk'");
?>
*****************运行正常,无报错******************
------------------------------add.php--------------------------------------
<?php
include ("conn.php");//引入数据库
if(!empty($_POST['sub'])){
$title = $_POST['title'];
$con = $_POST['con'];
$sql = "INSERT INTO `news`(`id`, `title`, `dates`, `contents`)
                        VALUES (null,'$title',now(),'$con')";
mysql_query($sql);
echo "插入成功!";
}
?>

<form action="add.php" method="post">
标题<input type="text" name="title"><br><br>
内容<textarea rows="5" cols="50" name="con"></textarea><br><br>
<input type="submit" name="sub" value="发表">
</form>
*****************运行正常,无报错******************
-----------------------------数据库相关-------------------------------------
数据库名:db_php100_microblog
表名:news
字段名:`id`, `title`, `dates`, `contents`

------解决方案--------------------
mysql_query($sql) or die(mysql_error()); //这样报什么错
------解决方案--------------------
当id是主键自动增长时,可以不赋值,也可以占位,用null 或者'' 代替。
------解决方案--------------------
数据库的ID设置为主键(显示有钥匙的),而且在属性总设置为自动增长,就可以了,插入数据时,不要再给其赋值
------解决方案--------------------
数据库插不了数据,而后面代码能运行,那肯定是SQL写错了。看看各个字段的类型是否匹配。id为什么要设为null,这里肯定错了。