sqlserver conectar con activar php linux db2 odbc

php - conectar - Advertencia: db2_fetch_assoc(): Fetch Failure



php odbc dsn (0)

Esto es probablemente muy simple (soy novato), pero no he podido encontrar una respuesta.

Estoy usando Linux, DB2 y PHP. Mi consulta simple de DB2 desde PHP solo devuelve filas con valores enteros, pero falla con "Fetch Failure" para cualquier otra cosa (varchar ...).

La consulta funciona con db2cli para todos los valores:

echo "seleccione COLUMN from TEST.TABLE" "| | ./db2cli execsql -dsn SCHEMA

Pero falla en 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(); } }

Mostrará todas las filas con valores enteros, pero las cadenas vacías para todo lo demás con el error "Fetch Failure" en el registro. Intenté db2_fetch_array, db2_fetch_assoc y db2_fetch_both.

Nota: He agregado las cosas superfluas como db2_scrollable y db2_num_rows más adelante en un intento de resolver el problema. Sin éxito.

EDITAR: Incluso puedo FILTRAR por los valores que no se mostrarán (SELECCIONE la columna DONDE columna = ''valor'') y devolverá el número correcto de filas.