警告:db2_fetch_assoc():提取失败

这可能很简单(我是新手),但是我一直没有find答案。

我正在使用Linux,DB2和PHP。 我从DB2的简单DB2查询只返回具有整数值的行,但失败与“提取失败”的任何其他(varchar …)。

该查询适用于所有值的db2cli:

echo“从TEST.TABLE中selectCOLUMN”“| ./db2cli execsql -dsn SCHEMA

但在PHP中失败:

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" . "HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$passwd;"; $conn = db2_pconnect($conn_string, '', ''); if ($conn) { $sql = 'select COLUMN from TEST.TABLE'; $options = array('cursor' => DB2_SCROLLABLE, 'binmode' => DB2_BINARY); $stmt = db2_prepare($conn, $sql, $options); if ($stmt) { $result = db2_execute($stmt); if (!$result) { echo "exec errormsg: " .db2_stmt_errormsg($stmt); } $total_rows = db2_num_rows($stmt); print "<br>Total rows: $total_rows"; for ($i = 0; $i < $total_rows; $i++) { $row = db2_fetch_array($stmt); print "<br>$row[0]"; } } else { echo "exec erromsg: " . db2_stmt_erromsg($stmt); } db2_close($conn); } else { echo "failed #2 ".db2_conn_errormsg(); } } 

它将显示任何具有整数值的行,但在日志中包含错误“Fetch Failure”的所有其他行的空string。 我试过db2_fetch_array,db2_fetch_assoc和db2_fetch_both。

注意:稍后我已经添加了诸如db2_scrollable和db2_num_rows之类的多余的东西来试图解决这个问题。 不成功。

编辑:我甚至可以筛选的值不会显示(select列WHERE列='值'),它会返回正确的行数。