首先PHP要开启 pdo_oci 扩展
数据库连接配置里面设置 pdo 连接 Oracle 的 dsn 参数:
$tns = "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = XE)))";
'DB'=>[
'dsn'=>"oci:dbname={$tns}",
'db'=>'test', // 起个别名
'user'=>'xxxxx',
'pass'=>'xxxxx',
'charset'=>'utf8'
],
之后就可以直接使用 pdo 来操作数据库了
$pdo = pdo::init();
$sql = "INSERT INTO users(userid, nickname) VALUES(:userid, :nickname)"; //预处理语句
$bind = [':userid'=>1, ':nickname'=>'haha']; // 绑定参数
$h = $pdo->prepare($sql); // 执行预处理
$h->execute($bind); // 插入绑定的数据
P($h->rowCount()); // 获取插入的行数
需要注意的是,由于Oracle没有自增主键,所以现在 pdo::submit()方法返回主键值会报错。