You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PDO_ODBC与odbc_*函数查询SAP HANA返回数据不一致问题

同一HDBODBC驱动下odbc_*函数与PDO_ODBC查询SAP HANA返回数据不一致

使用同一HDBODBC驱动连接SAP HANA数据库时,调用odbc_*系列函数与PDO_ODBC执行完全相同的SQL语句,返回的数据却不一致。以下是测试代码及两次查询的dump结果:

测试代码

$driver = 'HDBODBC';
$host = "XX.XX.XX.XX:30015";
$db_name = "MY_DATABASE";
$username = "XXX";
$password = "XXXX";
$conn = odbc_connect("Driver=$driver;ServerNode=$host;Database=$db_name;", $username, $password, SQL_CUR_USE_ODBC);

$params = [
    'Belkin',
    '',
    '',
    'AL'
];
$sql = 'SELECT * FROM "MY_DATABASE"."PRODUCT" (%s%s%s) LIMIT 10';
$sql = sprintf($sql,"'",implode("','",$params),"'");

$result = odbc_exec($conn,$sql);

while($row = odbc_fetch_array($result)){
    dump($row);
    break;
}

$dsn = "odbc:Driver=$driver;ServerNode=$host;Database=$db_name";

$dbh = new PDO($dsn, $username, $password);
$stmt = $dbh->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

dump($result[0]);

查询结果对比

odbc_*函数dump结果

odbc函数查询dump结果

PDO_ODBC dump结果

PDO查询dump结果

内容的提问来源于stack exchange,提问作者Weinz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 19:02:42