elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:25  


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  [PHP-MYSQL] Como crear un sp en php?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [PHP-MYSQL] Como crear un sp en php?  (Leído 453 veces)
klaine

Desconectado Desconectado

Mensajes: 112



Ver Perfil WWW
[PHP-MYSQL] Como crear un sp en php?
« en: 1 Noviembre 2011, 02:03 »

Hola estoy intentando crear un procedimiento almacenado desde php a mysql, que estoy haciendo mal?

Código
 
<html>
<head>
</head>
<body>
       <?php
 
       mysql_connect("localhost", "root", "sr388");
 
       $b=mysql_query("
create procedure pedir(in strCodBicicleta varchar(255), in strCodPeticion varchar(255), in strCodUsuario varchar(255))
begin
 
update bicicleta set estado='usando' where cod_bicicleta=strCodBicicleta;
 
insert into peticion(cod_peticion, usuario, fecha, hora)values(strCodPeticion, strCodUsuario, current_date, current_time);
 
end
"
);
 
       if($b){
 
           echo "funka";
 
       }else{
 
           echo "T_T";
 
       }
 
       ?>
</body>
</html>
 
 



Dejo las tablas bicicleta, peticion y usuario:

Código
 
create table usuario(
 
username varchar(255) not null primary key,
permisos varchar(4) not null, -- 'ADM' o 'USER'
password varchar(255) not null,
e_mail varchar(255) not null
 
)engine=innodb;
 
 

Código
 
create table bicicleta(
 
cod_bicicleta varchar(255) not null primary key,
estado varchar(6) not null -- 'usando' o 'libre'
 
)engine=innodb;
 
 

Código
 
create table peticion(
 
cod_peticion int unsigned not null primary key,
usuario varchar(255) not null references usuario(username),
fecha date not null,
hora time not null
 
)engine=innodb;
 
 
 

De antemano, gracias

PD: en la shell funka con el uso de delimiter


« Última modificación: 1 Noviembre 2011, 02:05 por klaine » En línea

lnvisible


Desconectado Desconectado

Mensajes: 456



Ver Perfil
Re: [PHP-MYSQL] Como crear un sp en php?
« Respuesta #1 en: 1 Noviembre 2011, 02:26 »

Esa función no está hecha para eso.

Si pinchas en el mismo código que has puesto te lleva aquí
http://uk.php.net/mysql_query

¿Ves que ponga algo de procedimientos? ¿no?, pues sí, lo pone ^^

Tienes que crear el procedimiento desde la shell y luego invocarlo, en la misma página hay un ejemplo.

Código
<?php
   //...
   $rs = mysql_query('CALL sproc2(500)');
   while (($row=mysql_fetch_assoc($rs))!==false) {
       print_r($row);
   }
   mysql_free_result($rs);
 
   $rs = mysql_query('CALL sproc2(500)');
   print mysql_error(); //the notorious 'command out of synch' message :(
   while (($row=mysql_fetch_assoc($rs))!==false) {
       print_r($row);
   }
   mysql_free_result($rs);
?>


En línea

klaine

Desconectado Desconectado

Mensajes: 112



Ver Perfil WWW
Re: [PHP-MYSQL] Como crear un sp en php?
« Respuesta #2 en: 1 Noviembre 2011, 02:34 »

El problema que tengo es que quiero pasarle este sp a mis compañeros con los que estoy haciendo este trabajo, el procedimiento almacenado en la shell me funka así:

Código
 
delimiter '$$'
 
create procedure pedir(in strCodBicicleta varchar(255), in strCodPeticion varchar(255), in strCodUsuario varchar(255))
begin
 
update bicicleta set estado='usando' where cod_bicicleta=strCodBicicleta;
 
insert into peticion(cod_peticion, usuario, fecha, hora)values(strCodPeticion, strCodUsuario, current_date, current_time);
 
end
$$
 
DELIMITER ';'
 
 

Pero mis compañeros no usan la shell, es mas, ni siquiera tienen el query browser, usan la gui de phpmyadmin, y por cierto, este code intenté meterlo en el querybrowser de mi instituto y no me funka, reformulo la pregunta, como puedo pasarle este sp a mis compañeros?, había pensado hacer un archivo.php que lo ejecuten y se les cree solo :P, pero veo que no se puede

Desde ya, agradeciendo sus respuestas

Saludos!
En línea

lnvisible


Desconectado Desconectado

Mensajes: 456



Ver Perfil
Re: [PHP-MYSQL] Como crear un sp en php?
« Respuesta #3 en: 1 Noviembre 2011, 15:47 »

Hay muchas funciones para eso, escoge la que más te guste, te dejo dos sugerencias:
http://php.net/manual/en/function.shell-exec.php
http://php.net/manual/en/function.system.php
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines