安装扩展这部分直接看我的另外一篇文章,地址是:
https://blog.20230611.cn/?id=353
php连接sqlserver方式有4种:
pdo sqlsrv_connect odbc com
前面两种方式会依赖微软给的驱动版本,也依赖于固定版本的sqlserver,例如sqlserver2000只能在php5.3版本使用。而com和odbc不用限制。
例如我的php7.3连接sqlserver2000的代码:
// 连接SQL
$sql = iconv('UTF-8', 'GBK', $sql);;
$dsn = "Driver={SQL Server};Server={$config['host']};Database={$config['name']};trusted_connection=Yes";
$conn = odbc_connect($dsn, $config['user'], $config['pass'], SQL_CUR_USE_ODBC);
if (!$conn)
{
throw new Exception('连接SQL服务器失败');
}
// 执行SQL
$result = odbc_exec($conn, $sql);
if (!$result)
{
throw new Exception('SQL执行失败:' . odbc_error());
}
// 提取结果
$responseData = [];
while (true)
{
$row = (odbc_fetch_array($result));
if (!$row)
{
break;
}
$keys = array_keys($row);
foreach ($keys as $key)
{
$row[$key] = iconv('GBK', 'UTF-8', $row[$key]);
}
$responseData[] = $row;
}
odbc_close($conn);
return $responseData;当然也可以使用com连接,具体代码自己搜索,开启com_dotnet.dll即可
$dbConn=new COM ("ADODB.Connection")com连接的代码和asp是完全一致的,如果你写过asp,看一下绝对完全一致。
要处理编码问题,传递给sqlserver的sql自己转gbk编码,sqlserver返回结果你再转换回utf8即可。
浪费了一天半的时间研究这个东西真不划算,大部分时间卡在了编码问题,还以为是不支持,还好帮朋友解决了问题。
(1).创建数据库test ,创建表shop(字段id,total),商品id是1,商品总数10 (2).PHP模拟购买,商品数量大于0才能购买<?php //连接数据库 $con=mysqli_connect("192.168.2.18...
本篇文章不是讲解如何用.net开发自己的dll然后PHP通过com调用。主要记录PHP官方支持的DOTNET 基本语法如下:$obj = new DOTNET("assembly", "classname")a...
使用php函数array_multisort()即可实现和SQL一样的order by排序. 例如我们需要对会员表按照主键降序排列,年龄升序排列://会员表数据 $list = []; $list[] = ['mid' =>&n...
(1).config.php 配置文件<?php /** * RabbitMQ_Config */ $config = [ 'host' => ...
(1).学习目标: 了解常见信号类型(百度PHP支持的信号类型),(2).相关函数学习: (2.1).pcntl_signal函数用于设置一个信号管理器接收进程信号,参数1:信号类型,参数2:回调函数,用于在接收到参数1类型的信...
<?php $member = new class { public function getInfo() { ...