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结果

PDO_ODBC dump结果

内容的提问来源于stack exchange,提问作者Weinz
相关产品推荐
相关产品推荐

