环境: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`

解决方案 »

  1.   

    mysql_query($sql) or die(mysql_error()); //这样报什么错
      

  2.   

    貌似了解了
    报错--Column 'id' cannot be null
    是不是我在插入id值的时候用的是null
    但是视频(PHP100出的2013版)中讲的是id赋值时,想让id自动累加
    以前可以不赋值,但是现在得占位?需要null
      

  3.   

    当id是主键自动增长时,可以不赋值,也可以占位,用null 或者'' 代替。
      

  4.   

    我没设id为主键
    但是看他的视频在数据库中,id下面有下划线,那个不是主键才有的吗?
    我看news表中的id后面的主键钥匙是黄色,而contents的后面那主键钥匙是灰色。
    我把null改成''就正常了...(不是说新版不支持这样吗,必须规范用null?)
      

  5.   

    您有QQ吗?怎么给你传图片,论坛怎么上传不了图片了?
    我用''发现数据是添加进去了,但是在表中的id字段都显示0,没有自动递增啊
      

  6.   

    数据库插不了数据,而后面代码能运行,那肯定是SQL写错了。看看各个字段的类型是否匹配。id为什么要设为null,这里肯定错了。
      

  7.   

    谢谢,改过来了~在增加字段时,有个A_I选项选上就好了
    之前不知道这个是什么,后来百度了一下。
    话说我需要弄个毕业设计简易的志愿者信息管理
    数据库我应该怎么建?
    以前外教教我们是用SQL SEVER2008,有视图,可以选择什么主键外键
    但是我在phpmyadmin中没有看见图形化的功能
      

  8.   

    没有错,就是null
    新版改了