Código :
CREATE DEFINER=`root`@`localhost` PROCEDURE `spConsultarUsuarioCompletoOrdenado`(in param varchar(20)) begin set @variable=concat("select * from usuario order by ",param); prepare smt from @variable; EXECUTE smt; end
Mi duda es que al ejecutar ese procedimiento almacenado como: (sabiendo que idusuario es una columna de mi tabla usuario.)
Código :
call spConsultarUsuarioCompletoOrdenado('idusuario')
eso me da como resultado una serie de registros ya ingresados anteriormente ordenados por la columna idusuario en el mysql workbench, pero cuando lo ejecuto en mi codigo de php, al mostrara la pagina no me muestra los registros sino un simple numero "0".
Por si las moscas dejo el fragmento de mi codigo php (clase conexion.php) con la que invoco dicha funcion que llama el procedure:
Código :
function conectarBD(){ $this->conexion= mysql_connect('localhost','root','frog') or die('Error en la conexion al servidor'); mysql_selectdb('bdfrog', $this->conexion) or die('Error al encontrar la Base de Datos'); } function EjecutarProcedure($sql){ $this->resultado=mysql_query($sql) or die('Error en Base de Datos : No se ejecuto el Store Procedure'); }
y de esta forma la invoco en otra pagina que es la que me mopstrara la web:
Código :
$objconexion=new conexion(); $objconexion->conectarBD(); $objconexion->EjecutarProcedure1("call spConsultarUsuarioCompletoOrdenado('idusuario')");
claro esta que despues de este codigo anterior mostrado hago mas funciones para constriur unas celdas donde muestro los resultados. pero como ya mencione esto me muestra "0", pero si cambio por esto
Código :
$objconexion=new conexion(); $objconexion->conectarBD(); $objconexion->EjecutarProcedure1("select * from usuario");
si me construye la celda con todos los resultados.
Gracias de antemano por las respuestas.