Stack Overflow en español Asked by Pike on November 27, 2021
LLevo muy poco con PHP y tengo que hacer una llamada a un procedimiento almacenado en SQL. Nunca lo he hecho.Seguramente es muy simple pero no consigo lograrlo.
1- El procedimiento ya me lo dan dado hecho.
2- El nombre del procedimiento es sp_SubcategoriasMAQ
y lo que hace el recuperar las categorías y subcategorias de la web para junto con HTML construir el menú de navegación principal.
3- Los parámetros que reciben son ( copia según me lo han pasado a mi):
El código que tengo es el siguiente
<?php
$serverName = 'nameServerinstance'; //serverNameinstanceName
$connectionInfo = array( 'Database'=>'MiDataBase', 'UID'=>'MiUsuario', 'PWD'=>'Password','CharacterSet' => 'UTF-8');
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo 'Procedimiento almacenado.<br />';
}else{
echo 'Conexión no se pudo establecer.<br />';
die( print_r( sqlsrv_errors(), true));
}
$params = array (
array('CARGA-ARBOL', SQLSRV_PARAM_IN),
array(0, SQLSRV_PARAM_IN),
array(0, SQLSRV_PARAM_IN),
array('?', SQLSRV_PARAM_IN),
array(0, SQLSRV_PARAM_IN),
array('?', SQLSRV_PARAM_IN),
array('?', SQLSRV_PARAM_OUT),
array('?', SQLSRV_PARAM_OUT),
);
$query ='{call [dbo].[sp_SubcategoriasMAQ] (?,?,?,?,?,?,?,?)}';
$result = sqlsrv_query($conn, $query, $params);
echo $result ;
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}
?>
La conexion se realiza perfectamente y obtengo en pantalla el mensaje "Procedimiento almacenado" y nada mas.. ningun mensaje de error .. nada…
Gracias por la ayuda
NOTA no icnluyo nada de codigo HTML porque mi problema es que directamente no obtengo ningun valor devuelto de la base de datos.
Antes que nada estar chequeando la variable equivocada ($stmt
en vez de $result
)
$query ='{call [dbo].[sp_SubcategoriasMAQ] (?,?,?,?,?,?,?,?)}';
$result = sqlsrv_query($conn, $query, $params);
if( $result === false ) {
print_r( sqlsrv_errors(), true);
die();
}
echo $result ;
SI aun asi no puedes ver ninguna salida o errores. Puede que efectivamente este ejecutandose, pero sin obtener registros. Puedes probar agregando algo invalido a $query y ver si sale el error en la llamada a sqlsrv_errors()
Answered by F.Igor on November 27, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP