php插入数据问题
先看下我们数据库在执行插入操作前的数据,只有二条数据,如图。运行页面,执行插入数据的操作,页面显示的结果为 true,表示数据成功插入到数据库里了。再次查看数据库的数据,可以看到php插入的数据成功保存到数据库里了。
很有可能是你的title之类的里面有多余的引号而没有被escape。一般起码会加上addslashes()。
其实很简单,在你用M实例化一个Model对象的时候,所有的Model都是继承Thinkphp的Model模型类。而在model模型类中有一个魔术方法__set,如果你对面向对象的魔术方法有了解的话,就知道__set是为不存在的属性进行赋值。
看看是不是数据表的某项键值设置成unique,而你在此项又插入了跟第一项相同的值。
虽然不太确定你的问题,提供下我的想法吧。。换句话说,一切操作以数组来循环的。
代码的最后一个 } 没有对应的 {,{}括号不匹配,存在语法上的错误。
php用insert语句向数据库插入数据时提示错误:
1、这个的原因可就多了。建议在你出错那段加以点儿mysql报错。这样起码知道为什么出错。很有可能是你的title之类的里面有多余的引号而没有被escape。一般起码会加上addslashes()。
2、你这个是PHP基本语法都不清楚啊。重复赋值,第二条数据就会覆盖第一条数据。所以第二个sql执行成功了,第一个被覆盖掉了。而且现在都是用PDO连接数据库,建议直接用PDO操作,不要用mysql和mysqli操作数据库。
3、它的错误就是上面说的非数字类的值,没带引号。
4、echo mysqli_affected_rows 为1是应该成功,可是表里面却没数据,说明失败,可是失败为什么会是1呢。echo mysqli_error打印出来提示出错。echo mysqli_affected_rows 难道这个有错。不理解,请高手解答下。
我想问一下,使用php向mysql插入数据,为什么报错?插入不了?
如果你的服务器打开了magic_quotes_gpc,那么传过来的值会自动addslashes()。如果没有打开,你就需要用addslashes对传入的值进行转义!addslashes 返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。
这个的原因可就多了。建议在你出错那段加以点儿mysql报错。这样起码知道为什么出错。很有可能是你的title之类的里面有多余的引号而没有被escape。一般起码会加上addslashes()。
这样就会报错。对于数字的值,可以不加,加上也不会影响插入效果,比如 1update tablename set intAttrA = 1;1update tablename set intAttrA = 1;这两种都是可以的。
关于php插入数据出错和php添加数据到数据库失败的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。