溫馨建議:
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的時候一定要嚴格遵守規則哦,表明用雙引號,字段用雙引號,字段的值用單引號!!!