一、下载PHP版本 1. php7.3版本 https://windows.php.net/downloads/releases/archives/ 2. php7.4版本(可选) https://
https://windows.php.net/downloads/releases/archives/
https://windows.php.net/download/
在达梦的安装包目录下找到pdo73_dm.dll
和php73_dm.dll
(注意查看
phpinfo
,如果Thread Safet
为enabled
,则选择该文件,否则选择pdo73nts_dm.dll
)
;替换为自己驱动包的绝对路径extension="D:\dmdbms\drivers\php_pdo\pdo73_dm.dll"extension="D:\dmdbms\drivers\php_pdo\php73_dm.dll"
打开cmd命令行,输入php -m,如果提示PHP Fatal error: Unable to start DM module in Unknown on line 0错误
尝试将数据库安装目录bin下的以下dll文件拷贝至C:\windows\SysWOW64和C:\Windows\System32。(替换时会提示是否替换原有文件,这里选择‘否’)
dmdpi.dlldmcalc.dlldmelog.dlldmmem.dlldmos.dlldmcomm.dlldmcpr.dlldmcyt.dlldmstrt.dlldmclientlex.dlldmdta.dlldmcfg.dlldmdcr.dlldmmout.dlldmcvt.dlldmmsg.dll
如果还不行就尝试把bin所有的dll文件拷贝过去。
./php.exe -m
try{ $link = dm_connect("localhost:5236", "SYSDBA", "SYSDBA") or die("Could not connect : " . dm_error()."\n"); //使用 dm_error 会显示 dm 的 php 接口返回的错误,执行成功,则继续往下执行。 print "php: Connected successfully"."\n"; dm_close($link); }catch(Exception $e){ $e->getMessage() . "
";}?>
将测试的php代码放到指定目录下,直接使用php连接
./php.exe D:\phpstudy_pro\demo.php
$sql = 'create table "test"."users1"("id" INTEGER identity(1, 1) not null,"user_name" VARCHAR(20),"created_at" DATETIME(0),"updated_at" TIMESTAMP(0) DEFAULT sysdate,primary key("id"))';$result = dm_exec($link,$sql);
$sql = "insert into test.users1 (user_name,created_at,updated_at) values ('张三','2020-07-17 10:06:00','".date('Y-m-d H:i:s')."')";$result = dm_exec($link,$sql);
$sql = "select * from test.users limit 10";$result = dm_exec($link,$sql);print " 查询结果:"
;while ($line = dm_fetch_array($result)){ print_r($line); echo '
';}
$sql = "update test.users set user_name = '李四' where id = 1";$result = dm_exec($link,$sql);
$sql = "delete from test.users where id = 1";$result = dm_exec($link,$sql);
通常情况下,在sql语句中的表名前需要指定模式名。例如上面例子中的test.users,其中test就是模式名,users是表名。
可以通过SET SCHEMA设置当前模式。设置后,执行sql语句时,就可以省略模式名。
语法格式:
SET SCHEMA <模式名>;
解决方案: php版本的问题,请前往php官网(https://windows.php.net/download/)下载
解决方案:运行缺少达梦的动态加载库,参考文章的2.3添加lib的方法
原因分析:php7.4.28基于vc15(14.16),而我们提供的php驱动php74_dm.dll基于vs16(14.28),所以产生以上报错。
在以上硬件和操作系统环境以及相同dm8版本中,使用php8.0 windows x64 线程安全版,加载驱动php80ts_dm.dll正常。php8.0是基于vs16的。
鉴于php7.4.28是官方提供的7.4版本,因此建议提供基于vc15的php7.4.28的驱动。
解决方案:申请新的版本
链接:https://pan.baidu.com/s/164RgO6ZOx75yH0nhw_JVOw
提取码:2vkx
–来自百度网盘超级会员V4的分享
来源地址:https://blog.csdn.net/qq_35349982/article/details/126950616
--结束END--
本文标题: PHP连接达梦数据库DM8(Window)
本文链接: https://www.lsjlt.com/news/399501.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0