Estoy realizando una pagina en PHP, y tengo una conexion SQL SERVER, uso sqlsrv, de está base debo ir a ejecutar varios procedimientos almacenados con PHP, pero cuando voy a imprimir los datos de un procedimiento en específico no me retorna la información completa.
Utilicé el SQL PROFILER para saber si el procedimiento no se estaba ejecutando o no le estaban llegando los parámetros pero está todo bien. Copié y pegue en SQL la línea de código que retorna el SQL PROFILER y ejecuta el procedimiento bien.
Hice la consulta por individual y arroja bien todo en la BD, cuando paso a PHP, hago el llamado al procedimiento, luego ejecuto el SQLSRV_QUERY todo bien, ya cuando guardo el QUERY en un SQLSRV_FETCH_ARRAY dentro de un ciclo WHILE no me trae sino solo un registro, en la tabla que estoy consultando me he dado cuenta que hay un campo llamado bEstado donde se almacenan solo datos enteros, guarda 0 - 1 - 2 - 4.
Resulta que solo me está trayendo los datos donde el campo mencionado anteriormente sea igual a 0, no le estoy colocando ninguna condición para que suceda así. Simplemente hago el ciclo y le hago print_r() para saber que retorna, pero como dije antes, solo me trae el primer registro y nada más.
Adjunto códigos.
Aclaro que la página web está montada en un servidor Linux, cuando paso esto a Windows si funciona todo con normalidad.
Ya he intentado recorrer el array con solo WHILE, FOREACH, DO WHILE y el ejemplo que voy a mostrar en las imágenes, con todos sucede lo mismo.
Espero me puedan ayudar.
================================
CÓDIGO PHP
Código
<?php include 'conexion.php'; if( $conn2 ) { echo "Connection established.\n"; echo "<br/>"; } else { echo "Connection could not be established.\n"; } $UserName = 'knunez31'; $consulta = "{CALL [dbo].[sp_GetPackagesTransitoByID]('$UserName',100)}"; $probar = sqlsrv_query($conn2,$consulta); if( $probar === false) { } do { while ($row = sqlsrv_fetch_array($probar)) { echo '<pre>'; echo '</pre>'; } } while (sqlsrv_next_result($probar)); //Siguiente tabla ?>
=================================================
RESULTADO WEB
Código
Connection established. ( [0] => 9266988 [iID] => 9266988 [1] => TBAMIA511645323 [sTracking] => TBAMIA511645323 [2] => DateTime Object ( [timezone_type] => 3 [timezone] => UTC ) [dFecha] => DateTime Object ( [timezone_type] => 3 [timezone] => UTC ) [3] => 0 [bEstado] => 0 [4] => Recibido en Miami [sDetalle] => Recibido en Miami [5] => [sReferencia1] => [6] => [sReferencia2] => [7] => [sReferencia3] => [8] => Miami 4 [sQuien_Ingreso] => Miami 4 [9] => DateTime Object ( [timezone_type] => 3 [timezone] => UTC ) [dFecha_Ingreso] => DateTime Object ( [timezone_type] => 3 [timezone] => UTC ) [10] => 8:54:09 AM [sHora_Ingreso] => 8:54:09 AM [11] => [sQuien_Modifico] => [12] => DateTime Object ( [timezone_type] => 3 [timezone] => UTC ) [dFecha_Modifico] => DateTime Object ( [timezone_type] => 3 [timezone] => UTC ) [13] => [sHora_Modifico] => )
==============================================
RESULTADO QUERY (ALGUNOS DATOS, EN EL ARRAY SE MUESTRA EL RESTO DE LOS CAMPOS)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ID TRACKING dFecha bEstado sDetalle
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
9266988 TBAMIA511645323 2019-02-25 08:54:00 0 Recibido en Miami
9267095 TBAMIA511645323 2019-02-25 09:08:00 1 Preparando envío a Costa Rica
9280586 TBAMIA511645323 2019-03-01 11:11:00 2 En tránsito a Costa Rica