
正文
数据不能写入数据库php,mysql无法写入数据
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
在php里面无法向数据库插入数据?代码如下。找了很久也没找出原因_百度...
sql写错了,养成一个好的习惯,要拼接sql语句的话,接了后先echo $sql来看一看有没有问题。你那里values()里面的变量被单引号包着,单引号内的变量是不会被解析的,被当作字符串的。
先看下我们数据库在执行插入操作前的数据,只有二条数据,如图。运行页面,执行插入数据的操作,页面显示的结果为 true,表示数据成功插入到数据库里了。再次查看数据库的数据,可以看到php插入的数据成功保存到数据库里了。
如果连接成功了,不能插入数据,肯定是你最后一句写错了。
sql=INSERT into news_list (id,title,author,content,time) VALUES (NULL, $title , $author, $content, now());向数据库插入数据的时候,varchar型的需要加单引号。
你的代码没了?你光写出个sql语句 不执行 他怎么可能插入成功?mysql_query($sql); 写上。query = mysql_query($sql);if($query){ echo 数据插入成功。;}else{ echo 数据插入失败。
这是因为写程序的人欺骗了你,他根本没检测是否成功,直接就告诉你成功。
相关问答
Q1: php页面将$_POST数据不能写入数据库
我在看的时候,就在想,你这个是不是管用,应该永远不会出现非法进入页面的提示。
把每个$_POST[user]外面加上大括号{$_POST[user]}。mysql_query($sql); 只是执行插入语句,并不能判断是否执行成功,我给你一个完整的。
楼下说的对,主键不能用,把主键栏的改成null即可。insert into customers values(null,1,1,1);你这里都加多了双引号,不知何意。
这种情况你应该去检测一下你的conf里面的配置文件是否正确,第一就是数据库链接信息,第二就是db_prefix 这个配置,这个配置是数据库前缀名,默认是tp_把。
Q2: PHP问题,不能写入数据,帮忙看下是哪里的问题,谢谢
1、这种情况你应该去检测一下你的conf里面的配置文件是否正确,第一就是数据库链接信息,第二就是db_prefix 这个配置,这个配置是数据库前缀名,默认是tp_把。
2、把每个$_POST[user]外面加上大括号{$_POST[user]}。mysql_query($sql); 只是执行插入语句,并不能判断是否执行成功,我给你一个完整的。
3、ini_set(display_errors, 1);error_reporting(-1);然后在fwrite()之前,echo一下要写的内容,看看是文件操作的问题,还是代码逻辑问题。
4、$f);注意你写入的内容是否为空,同时注意fwrite的返回值。另请注意:如果未调用fclose,由于文件写入缓冲机制,内容可能暂时写不进去。但程序退出后会自动关闭文件,这时才能看到文件的完整内容。
5、是不是存在必填字段没填写的情况,正常可以修改删除,不可能不能新增。还有可以试下批量新增。
Q3: PHP往数据库写入数据,怎么输入都失败为什么?
1、检查你的mysql表设置的字段,字段类型,是否为空等是否与你插入的数据类型信息相符,如果插入失败,数据库应该会报错,你仔细查看一下报错信息。
2、这种情况你应该去检测一下你的conf里面的配置文件是否正确,第一就是数据库链接信息,第二就是db_prefix 这个配置,这个配置是数据库前缀名,默认是tp_把。
3、从下面的显示来看,你没有选择数据库就导入数据了,这个只是生成一张表,需要自己先建立数据库,在数据库里面再运行以上代码。
4、sql=INSERT into news_list (id,title,author,content,time) VALUES (NULL, $title , $author, $content, now());向数据库插入数据的时候,varchar型的需要加单引号。
5、我是大二的,但是对php还是很有经验的。学php语言上问题不是很大,但是调试方法很重要。
6、res = mysql_query(insert into loadup (title,up_time) values ($title,$reg_time));如果你数据库连接没问题的话 这么改就可以了。
Q4: php无法写入数据库的问题
1、echo 正在执行SQL: $sqlBR \n;if (mysql_query($sql)) echo 成功。
2、mysql_query(); 括号里是不需要加分号的,另外,如楼下所说,你把括号里语句先echo出来看一看有没有错误,这个地方本来就是比较容易出错的。而你上面写的显然是写了。
3、这个的原因可就多了。建议在你出错那段加以点儿mysql报错。这样起码知道为什么出错。很有可能是你的title之类的里面有多余的引号而没有被escape。一般起码会加上addslashes()。
4、mysql_query($tsql);修改为:if (mysql_query($tsql))echo 添加成功。;else echo 执行:$tsql错误:.mysql_error();这样允许以后,仔细看屏幕提示就知道问题在哪里,如果还看不明白就粘贴出来大家帮你看。
5、这种情况你应该去检测一下你的conf里面的配置文件是否正确,第一就是数据库链接信息,第二就是db_prefix 这个配置,这个配置是数据库前缀名,默认是tp_把。
6、sql写错了,养成一个好的习惯,要拼接sql语句的话,接了后先echo $sql来看一看有没有问题。你那里values()里面的变量被单引号包着,单引号内的变量是不会被解析的,被当作字符串的。
数据不能写入数据库php的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql无法写入数据、数据不能写入数据库php的信息别忘了在本站进行查找喔。






