Foros del Web » Programando para Internet » PHP »

Error inexplicable con mssql_query

Estas en el tema de Error inexplicable con mssql_query en el foro de PHP en Foros del Web. Buenas tardes, llevo ya 3 días buscando información sobre este problema y me encuentro bloqueado. El problema es el siguiente: cuando ejecuto un procedimiento (sea ...
  #1 (permalink)  
Antiguo 20/10/2010, 09:46
 
Fecha de Ingreso: julio-2005
Mensajes: 3
Antigüedad: 18 años, 9 meses
Puntos: 0
Error inexplicable con mssql_query

Buenas tardes, llevo ya 3 días buscando información sobre este problema y me encuentro bloqueado.

El problema es el siguiente: cuando ejecuto un procedimiento (sea con mssql_execute o con mssql_query) y recorro sus valores mediante un while, al intentar ejecutar otra consulta dentro del while me devuelve un error unicamente la primera vez.

Es decir en este código:

$conectID = mssql_connect(BD_SERVIDOR, BD_LOGIN, BD_CLAVE);
mssql_select_db(BD_NOMBRE);

$strSQL = "exec pa_NoticiasDetalle 2, 0";
$result=mssql_query($strSQL);
if ($result){
while ($row=mssql_fetch_array($result)) {
$nom=$row["valor"];

$strSQL = "SELECT valor FROM sysConfiguracion Where id = 1";
$result2=mssql_query($strSQL);
$rowRS = mssql_fetch_row($result2);

echo ($nom . ' :: ');
echo ($rowRS[0] . '<br />');
}
}
mssql_close($conectID);

me devuelve el error "Warning: mssql_query() [function.mssql-query]: Query failed" en la linea en negrita pero ATENCIÓN, solo la primera vez que se ejecuta dentro del bucle. Para los siguientes registros me devuelve los valores perfectamente...

Sin embargo, si la consulta "EXEC pa_Noticias...." la cambio por "SELECT tabla..." no me devuelve ese error.

Espero que alguien pueda proponerme una solución por que no entiendo cómo puede estar ocurriendo esto.
Muchas gracias.
  #2 (permalink)  
Antiguo 20/10/2010, 10:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error inexplicable con mssql_query

yo no creo que tu problema tenga que ver con PHP, en realidad nada tiene que ver con este foro... ya que no hay problemas de sintaxis de PHP, ni errores de código PHP...

los errores que recibes son propios del gestor de base de datos, quizá deberías replantear tu duda de ese lado...

en todo caso puedes intentar lo siguiente:
Código PHP:
$result2=mssql_query($strSQL) or die('Error:'.mssql_error()); 
otra cosa es curiosa, ¿porque hacer exactamente la misma consulta varias veces dentro de un ciclo?

¿acaso no es mejor hacerlo una ves al inicio, y de ahí solo usar el resultado obtenido en el bucle?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/10/2010, 10:31
 
Fecha de Ingreso: julio-2005
Mensajes: 3
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Error inexplicable con mssql_query

Muchas gracias por tu respuesta pateketrueke.

Si es cierto que la sintaxis es correcta pero no se en qué nivel (BD, php, Apache) se encuentra el problema que comento. Por eso lo he puesto aquí.

También tienes razón en cuanto a que la consulta está repetida, pero esta solo a modo de prueba. Ahora mismo no sirven para nada los datos obtenidos.

Con la función que me planteas para visualizar el error (ya la había probado anteriormente) me devuelve este error:

Warning: mssql_query() [function.mssql-query]: Query failed in D:\xampp\htdocs\ClaveGestion\prueba.php on line 18

Fatal error: Call to undefined function mssql_error() in D:\xampp\htdocs\ClaveGestion\prueba.php on line 18

Si alguien me pudiese facilitar documentación a la que acudir para buscar una solución lo agradeceré eternamente.
  #4 (permalink)  
Antiguo 20/10/2010, 10:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error inexplicable con mssql_query

Cita:
Iniciado por MetalMania Ver Mensaje
Si alguien me pudiese facilitar documentación a la que acudir para buscar una solución lo agradeceré eternamente.
el manual oficial:
http://php.net/mssql
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:32.