欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

【求指点】做一个简易的留言板的功能,但数据库却添加不了数据

程序员文章站 2022-06-17 15:38:43
...
环境:Win7(x64)、Wamp集成(PHP5.4.3+MySQL5.5.24+Apache2.4.2+PHPMyAdmin3.5.1)
目的:做一个简易的留言板的功能,一单击“发表”可以在数据库中添加一条相关数据。
问题:按“发表”后,显示“插入成功”。但是后台数据库中却没有添加进去
------------------------------- conn.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--------------------------------------
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 "插入成功!";
}
?>


标题


内容




*****************运行正常,无报错******************
-----------------------------数据库相关-------------------------------------
数据库名:db_php100_microblog
表名:news
字段名:`id`, `title`, `dates`, `contents`


回复讨论(解决方案)

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

不要加@ 屏蔽了错误

试了下 可以显示啊

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

你的id 不是主键,自动增长的吧

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

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

'' 也可以。。

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

将你的id 改为 主键,且自动增长。

数据库的ID设置为主键(显示有钥匙的),而且在属性总设置为自动增长,就可以了,插入数据时,不要再给其赋值

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

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

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