PHP连接达梦数据库

本文详细介绍了如何在CentOS7环境中安装PHP7.3,配置PDO以连接达梦数据库,包括安装依赖、设置Remi软件源、安装PHP组件、调整php.ini和pdo.ini,以及连接、查询和操作数据库的示例。
摘要由CSDN通过智能技术生成

PDO是一种在PHP中连接数据库的接口,可以通过PDO接口使用PHP连接达梦数据库。

1、安装PHP环境

检查当前环境是否安装PHP
[root@localhost ~]# php -v
 

image.png


当前环境并未安装PHP,需要进行安装,选择安装PHP7.3版本。

2、安装 epel-release源和源管理工具yum-utils

[root@localhost ~]# yum -y install epel-release yum-utils
安装如下源
 

image.png


 

image.png


完成安装...

3、安装Remi软件源

当前操作系统为centos 7,可以执行如下语句进行安装:
[root@localhost ~]# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
 

image.png


完成安装...

4、安装PHP7.3的其他依赖包

[root@localhost ~]# yum install -y php73-php-fpm php73-php-cli php73-php-bcmath php73-php-gd php73-php-json php73-php-mbstring php73-php-mcrypt php73-php-mysqlnd php73-php-opcache php73-php-pdo php73-php-pecl-crypto php73-php-pecl-mcrypt php73-php-pecl-geoip php73-php-recode php73-php-snmp php73-php-soap php73-php-xml

5、查看PHP73版本

image.png

6、启动服务,开机自启,查看状态

[root@localhost ~]# systemctl enable php73-php-fpm
[root@localhost ~]# systemctl status php73-php-fpm
[root@localhost ~]# systemctl start php73-php-fpm
如下:

image.png

7、给PHP添加达梦的驱动

达梦的php驱动路径在$DM_HOME/driver/php_pdo下(此处达梦数据库安装目录为/home/dmdba/DM_soft/DM_db)

image.png

PHP的驱动路径如下,将达梦的php驱动拷贝到该目录下:

image.png

拷贝驱动文件:

image.png

查看PHP驱动目录:

image.png

8、找到php.ini和pdo.ini配置文件

image.png

如果没有php.ini文件,可以使用该命令生成:
[root@localhost ~]# php73 -r "phpinfo();" | grep 'php.ini'

9、修改配置文件

[root@localhost ~]# vi /etc/opt/remi/php73/php.ini

image.png


在最后一行添加extension=libphp73_dm.so

[root@localhost ~]# vi /etc/opt/remi/php73/php.d/20-pdo.ini
 

image.png


在最后一行添加extension=php73_pdo_dm.so

[root@localhost ~]# vi /etc/profile
编辑系统配置文件,在最后一行添加
 

image.png


[root@localhost ~]# source /etc/profile
使改动生效

image.png


如上图所示,达梦驱动加载正常

10、PHP连接达梦数据库测试

[root@localhost workspace]# cat test.php

<?php
try{
if($pdo =new PDO("dm:host=192.168.18.6","SYSDBA","SYSDBA"))
echo "connec tsuccess!";
}
catch(PDOException $e){
print "Error: ". $e->getMessage()."<br/>";
   die();
}
?>

复制

运行PHP文件,查看执行结果
[root@localhost workspace]# php73 test.php
connec tsuccess!

使用php查询数据:

<?php
try{
if($pdo =new PDO("dm:host=192.168.18.6","SYSDBA","SYSDBA"))
echo "connec tsuccess!";
//show value
$sql="select * from test";
$stmt=$pdo->query($sql);
var_dump($stmt->fetchAll(2));
}
catch(PDOException $e){
print "Error: ". $e->getMessage()."<br/>";
   die();
}
?>

复制

执行结果如下:

image.png

输入参数查询数据:

<?php
try{
if($pdo =new PDO("dm:host=192.168.18.6","SYSDBA","SYSDBA"))
echo "connec tsuccess!\n";
//show value
$name="aaa";
$id=1;
$sql="select * from test where name=:name and id=:id";
$stmt=$pdo->prepare($sql);
$stmt->execute(array('name'=>$name,'id'=>$id));
var_dump($stmt->fetchAll(2));
}
catch(PDOException $e){
print "Error: ". $e->getMessage()."<br/>";
   die();
}
?>

复制

执行结果如下:

image.png

查询并插入数据样例:

<?php
try{
$pdo =new PDO("dm:host=192.168.18.6","SYSDBA","SYSDBA");
if(!($pdo->connect_error)){
echo "connect success!\n";
}
//show value
$name="aaa";
$id=1;
$sql="select * from test where name=:name and id=:id";
$stmt=$pdo->prepare($sql);
$stmt->execute(array('name'=>$name,'id'=>$id));
var_dump($stmt->fetchAll(2));
//insert
$sql2="insert into test values('3','ccc')";
if($pdo->query($sql2)){
  echo "insert success! \n";
}else{
  echo "insert wrong" . $pdo->error;
}
//close session
$pdo=null;
$stmt=null;
}
catch(PDOException $e){
print "Error: ". $e->getMessage()."<br/>";
   die();
}
?>

复制

修改和删除数据样例:

<?php
try{
$pdo =new PDO("dm:host=192.168.18.6","SYSDBA","SYSDBA");
if(!($pdo->connect_error)){
echo "connect success!\n";
}
//update
$name="aaa";
$id=1;
$sql="update test set name='user1' where name=:name and id=:id";
$stmt=$pdo->prepare($sql);
$stmt->execute(array('name'=>$name,'id'=>$id));
//delete
$sql2="delete from test where id=3";
if($pdo->query($sql2)){
  echo "delete success! \n";
}else{
  echo "delete wrong" . $pdo->error;
}
//close session
$pdo=null;
$stmt=null;
}
catch(PDOException $e){
print "Error: ". $e->getMessage()."<br/>";
   die();
}
?>

复制

可以使用$pdo->query和$pdo->prepare两种方式来执行SQL,这两种函数执行的逻辑与jdbc中的executeQuery和preparedstatment相同

tpHP是一种流行的PHP框架,它可以与多种数据库进行连接和交互,包括达梦数据库。要在tpHP连接达梦数据库,需要执行以下步骤: 1. 首先,确保达梦数据库已经安装并正常运行在服务器上。你还需要知道达梦数据库的相关连接信息,比如主机名、端口号、数据库名称、用户名和密码。 2. 在tpHP项目的配置文件中,找到数据库连接相关的配置选项。在tpPHP中,这个配置文件通常是`config/database.php`。打开它并查找`'connections'`选项。 3. 在`'connections'`选项中,你会看到一些预定义的数据库连接选项,比如MySQL和SQLite。你需要在这个选项中添加一个新的连接选项来连接达梦数据库。例如,你可以添加以下代码: ```php 'dameng' => [ 'type' => 'dameng', 'hostname' => 'localhost', 'database' => 'your_database_name', 'username' => 'your_username', 'password' => 'your_password', 'hostport' => 'your_port', ] ``` 请确保将`your_database_name`替换为你的达梦数据库的名称,`your_username`和`your_password`替换为你的数据库的用户名和密码,并将`your_port`替换为数据库的端口号。 4. 保存配置文件并重新启动tpHP应用程序。 5. 现在,你可以使用达梦数据库连接选项来在tpPHP中执行数据库操作。例如,你可以使用以下代码连接达梦数据库: ```php $db = Db::connect('dameng'); ``` 这样,你就可以使用tpHP的数据库操作方法来执行查询、插入、更新和删除等操作了。 总结起来,连接达梦数据库需要在tpHP项目的配置文件中添加达梦数据库连接选项,并使用该选项来连接达梦数据库。然后,你就可以使用tpHP的数据库操作方法来与达梦数据库进行交互。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值