Foros del Web » Programando para Internet » PHP »

PHP OO Llamar Procedimientos Almacenados de MySQL desde PHP

Estas en el tema de Llamar Procedimientos Almacenados de MySQL desde PHP en el foro de PHP en Foros del Web. Buenos días, No logro llamar desde PHP un procedimiento almacenado, el cual llamandolo desde la consola de MySQL WorkBench anda perfecto... El procedimiento seria este... ...
  #1 (permalink)  
Antiguo 10/02/2011, 19:07
Avatar de matuteworld  
Fecha de Ingreso: octubre-2007
Ubicación: San Miguel de Tucuman, Tucuman
Mensajes: 79
Antigüedad: 16 años, 6 meses
Puntos: 2
Pregunta Llamar Procedimientos Almacenados de MySQL desde PHP

Buenos días,

No logro llamar desde PHP un procedimiento almacenado, el cual llamandolo desde la consola de MySQL WorkBench anda perfecto...

El procedimiento seria este...

Código:
SET @login = 'user', @pass := 'pass';
CALL cypsoftcomppass1(@login, @pass);
Como se ve primero defino las variables y luego llamo el procedimiento.

Estuve viendo que debería usar "MySQLi", aun así no logro que me devuelve datos...

Cual serian las lineas básicas para recibir los campos..???

desde ya muchas gracias,

Slds!
  #2 (permalink)  
Antiguo 11/02/2011, 16:47
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Llamar Procedimientos Almacenados de MySQL desde PHP

Pues, debería ser como cualquier otra consulta.

$login = 'algo';
$pass = 'algo';

$sql = "CALL cypsoftcomppass1(".$login.", ".$pass.");";

mysqli_query($conexion, $sql);
  #3 (permalink)  
Antiguo 11/02/2011, 17:14
Avatar de matuteworld  
Fecha de Ingreso: octubre-2007
Ubicación: San Miguel de Tucuman, Tucuman
Mensajes: 79
Antigüedad: 16 años, 6 meses
Puntos: 2
De acuerdo Respuesta: Llamar Procedimientos Almacenados de MySQL desde PHP

Estoy usando esto sacado de la web de PHP y funciona, nada mas que lo veo mucho mas completo que el codigo que usaria para una query comun... pero funciona... no hay mucho informacion sobre los procedimientos almacenados, espero que a alguien le sirva..

offtopic: me pusieron 3 puntos de advertencia por el "Up! Up! Up!" jaja pero sirvio me respondieron.... :D lero lero...

Muchas Gracias!
Slds!

Código PHP:
$link mysqli_connect('localhost''user''pass'"dbname");

if (
mysqli_connect_errno()) # check connection
{
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

$query "CALL cypsoftcomppass1('user', 'pass');";

if (
$stmt mysqli_prepare($link$query)) 
{
    
mysqli_stmt_execute($stmt); # execute statement

    
mysqli_stmt_bind_result($stmt$id$grupo$ok); # bind result variables

    
while (mysqli_stmt_fetch($stmt)) # fetch values
        
{
        
printf ("id = %s | grupo = %s | ok = %s \n"$id$grupo$ok);
    }

    
mysqli_stmt_close($stmt); # close statement
}

mysqli_close($link); # close connection 
  #4 (permalink)  
Antiguo 11/02/2011, 17:29
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Llamar Procedimientos Almacenados de MySQL desde PHP

No existe tal cosa como "query normal", el procedimiento que encontraste es la forma correcta de hacer una consulta.
  #5 (permalink)  
Antiguo 12/02/2011, 05:13
Avatar de matuteworld  
Fecha de Ingreso: octubre-2007
Ubicación: San Miguel de Tucuman, Tucuman
Mensajes: 79
Antigüedad: 16 años, 6 meses
Puntos: 2
Pregunta

Cita:
Iniciado por jonasanx Ver Mensaje
No existe tal cosa como "query normal", el procedimiento que encontraste es la forma correcta de hacer una consulta.
Buenos dias,

Gracias por tu respuesta... pero aun tengo unas dudas...

la parte que no me termina de convencer es esta...

Código PHP:
while(mysqli_stmt_fetch($stmt)) # fetch values
{
   
$reg = array('id' => $id'grupo' => $grupo'ok' => $ok);

ya que como veras defino las variables que me devuelve la consulta por lo tanto no es nada dinamico...
es correcto esto de definir por cada procedimiento almacenado en el cual hago un SELECT para devolver datos, definir las variables o campos? o existe otra forma de que me devuelva un array y yo llamarlos nomas?

no se si fui claro... cualquier cosa me avisas y aclaro.. :D

Muchas gracias de nuevo!

Slds!

Buenos dias,

Por si no fui claro,

Busco no tener que definir dentro de un array cada variable que me devuelve el proceso almacenado, como seria con la funcion mysql_fetch_assoc(); el cual devuelve un array definido.

Desde ya muchas gracias.

Slds!

Última edición por GatorV; 13/02/2011 a las 12:30
  #6 (permalink)  
Antiguo 20/10/2015, 13:59
Avatar de joseanguiano  
Fecha de Ingreso: agosto-2015
Ubicación: Coatzacoalcos
Mensajes: 87
Antigüedad: 8 años, 7 meses
Puntos: 1
Respuesta: Llamar Procedimientos Almacenados de MySQL desde PHP

Cita:
Iniciado por jonasanx Ver Mensaje
Pues, debería ser como cualquier otra consulta.

$login = 'algo';
$pass = 'algo';

$sql = "CALL cypsoftcomppass1(".$login.", ".$pass.");";

mysqli_query($conexion, $sql);
Excelente amigo te agradesco :D
talvez no sea el mismo problema, pero me has ayudado con estas palabras

Código HTML:
debería ser como cualquier otra consulta.
__________________
Lo fácil, ya lo hice, lo difícil lo estoy haciendo y lo imposible, me tardare pero lo lograre.

Etiquetas: mysql, mysqli, procedimiento, almacenar
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 14:04.