php pdo oci8,php 连接oracle pdo pdo_oci oci8

(这个测试过,可是不能成功)

./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-oci=instantclient,/usr/lib/oracle/10.2.0.4/client/lib/

可以参考http://blog.csdn.net/a82168506/article/details/11763989

安装oci8(http://zyan.cc/post/411/)

make oci8出错的话,用这个编译试试./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-oci8=instantclient,/usr/lib/oracle/10.2.0.4/client/lib/

安装pdo_oci(注意源码包里面有的)

cd php-5.4.28/ext/pdo_oci

1043  ls

1044  ll

1045  clean

1046  clean

1047  make clean

1048  /usr/local/webserver/php/bin/phpize

1049  ./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-oci=instantclient,/usr,10.2.0.4

1050  make

1051  make install

#64位系统=====================================================

ln -s /usr/lib/oracle/11.2/client64 /usr/lib/oracle/11.2/client

ln -s /usr/include/oracle/11.2/client64 /usr/include/oracle/11.2/client

CFLAGS="-I/usr/lib/oracle/11.2/client64/"

CXXFLAGS="-I/usr/lib/oracle/11.2/client64/"

./configure --with-php-config=/usr/local/webserver/php/bin/php-config  --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib

#oracle

export ORACLE_HOME=/usr/lib/oracle/11.2/client64/

export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:$LD_LIBRARY_PATH

export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

export PATH=$ORACLE_HOME/bin:$PATH

SQLSTATE[HY000]: pdo_oci_handle_factory: Error while trying to retrieve text for error ORA-12514 (/root/hcl/PDO_OCI-1.0/oci_driver.c:463)

出现这个错误后,换掉连接oralce的代码方式就可以避免。

try {

$conn =  new PDO("oci:dbname=10.1.1.10:1521/yourdatabase", "yourusername", "yourpassword");

if($conn){

echo 'connect success!';

}

foreach($conn->query('SELECT * from 视图或者表') as $row) {

print_r($row);

print("


");

}

$conn = null;

exit;

$result = $conn->query("SELECT * from 视图或者表");

var_dump($result);

// foreach ($result as $row) {

//     echo $row['KEY'] . '
';

// }

echo '总共'. $result->rowCount() .'条';

} catch (PDOException $e) {

echo "Failed to obtain database handle " . $e->getMessage();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP连接MySQL数据库的三种方式分别是PDO、MySQLi和mysql。 PDOPHP Data Objects)是PHP提供的一种数据库操作扩展,支持多种数据库,其中包括MySQL。PDO提供了一组统一的方法,使开发者能够以同样的方式对待不同的数据库。其优点包括安全性高、可移植性好、支持事务处理等。使用PDO连接MySQL数据库时,需要使用PDO的构造函数new PDO(),并传入相关的连接信息。 MySQLi(MySQL Improved)是PHP中的一种连接MySQL数据库的扩展,是对原有mysql扩展的增强和改进。MySQLi提供了面向对象和面向过程两种API,支持事务处理、预处理语句、存储过程等功能,同时也提供了对MySQL的新特性的支持。使用MySQLi连接MySQL数据库时,首先需要创建一个MySQLi对象,然后调用相应的方法进行连接、查询等操作。 mysql扩展是PHP早期版本提供的一种连接MySQL数据库的方式,但自PHP5.5.0版本开始已被弃用,不再被推荐使用。mysql扩展的连接方式相对简单,使用mysql_connect()函数进行连接,并传入相关的连接参数。然而,mysql扩展存在一些安全性和兼容性的问题,容易受到SQL注入等攻击。 综上所述,PDO、MySQLi和mysql是PHP常用的三种连接MySQL数据库的方式。其中PDO具有较高的安全性和可移植性,使用方式统一;MySQLi支持较多的功能特性,包括事务处理、预处理语句等;mysql扩展已被弃用,不推荐使用。开发者可以根据自己的需求和情况选择合适的连接方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值