温馨建议:
oracle数据库的表名称和字段名称用大写,不然你要注意下面这些问题,小写的表名称一定要用双引号括起来,字段名称要用双引号括起来,字段的值用单引号括起来。
php pdo 操作oracle类点击:php pdo oracle 类
php插入数据到oracle,跟php插入数据到mysql有点不一样哦!php在insert数据到oracle必须严格遵守规则:
表名,字段名必须用双引号括起来,字段非数值的必须用单引号,数值的可以不用单引号。
例子:books表
id是number类型,
name是varchar2类型
本例子php插入数据到oracle用的是
oracle 18c win 64位
php 7.2 版本 64位
温馨提示:在php 连接oracle的时候还要记住,php版本一定要跟oracle版本一样的,并且电脑上必须安装同样版本的oracle软件,不然oci8扩展是无法打开的哦!
1.INSERT INTO "books" ("id","name") values (10,"10bbb")
错 ORA-00984: 列在此处不允许 varchar2的字段必须用单引号
2.INSERT INTO 'books' ("id","name") values (10,'10bbb')
错 ORA-00903: 表名无效 books表必须用双引号括起来
3.INSERT INTO "books" (id,name) values (10,'10bbb')
错 ORA-00984: 列在此处不允许 列必须用双引号括起来
4.INSERT INTO "books" ('id','name') values (10,"10bbb")
错 ORA-00928: 缺失 SELECT 关键字 插入的列必须用双引号括起来,单引号不行,
并且name字段的值10bbb必须用单引号括起来,双引号不行。
5.INSERT INTO "books" ("id","name") values (10,'10bbb')
正确 表明用双引号,字段用双引号,字段name是varchar2用单引号括起来,id是number可以不用单引号
6.INSERT INTO "books" ("id","name") values ('11','11ccc')
正确 表明用双引号,字段用双引号,字段name是varchar2用单引号括起来,id是number可以不用单引号
如果当时创建表的时候表名称和字段名称都用大写的话就不用这么麻烦了:
直接 下面这样就行了
SELECT * FROM BOOKS
INSERT INTO BOOKS (NAME) VALUES (‘张三’)
所以小伙伴们用php插入数据到oracle的时候一定要严格遵守规则哦,表明用双引号,字段用双引号,字段的值用单引号!!!