ejecutar varios procedimientos almacenados mysql en php
Publicado por laura (2 intervenciones) el 15/12/2011 17:18:55
Hola, estoy tratando de ejecutar dos procedimientos almacenados (mysql) en php pero resulta que al ejecutar el primero no ejecuta el segundo, y si comento el primero, el segundo ejecuta correctamente.
Ambos procedimientos funcionan perfectamente, pero supongo que algo debe quedar guardado y hace que la segunda llamada no se efectue.
muestro el codigo:
Espero que puedan ayudarme
Ambos procedimientos funcionan perfectamente, pero supongo que algo debe quedar guardado y hace que la segunda llamada no se efectue.
muestro el codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?
//RECIBO LOS PARAMETROS
$nombre = stripslashes($_POST['nombre']);
$apellido = stripslashes($_POST['apellido']);
$mail = stripslashes($_POST['mail']);
$pass = stripslashes($_POST['pass']);
//VARIABLES PARA SALIDA EN PANTALLA
$msj = "";
$img = "";
$error = 0;
//TRATAMIENTO DE LOS PARAMETROS
//eliminación de caracteres blancos y de nueva linea
$nombre = trim($nombre);
$apellido = trim($apellido);
$mail = chop($mail);
$pass = trim($pass);
//validación de cantidad de caracteres
if(strlen($nombre)>45){
$msj = 'El nombre debe tener como máximo 20 caracteres';
$img = 'incorrecto.png';
$error = 1;
}
else if(strlen($nombre) <=0){
$msj = 'Debe ingresar su nombre';
$img = 'incorrecto.png';
$error = 1;
}
else if(strlen($apellido)>45){
$msj = 'El apellido debe tener como máximo 20 caracteres';
$img = 'incorrecto.png';
$error = 1;
}
else if (strlen($apellido) <=0){
$msj = 'Debe ingresar su apellido';
$img = 'incorrecto.png';
$error = 1;
}
else if(strlen($mail)>150){
$msj = 'El correo electrónico debe tener como máximo 150 caracteres';
$img = 'incorrecto.png';
$error = 1;
}
else if(strlen($mail) <=0){
$msj = 'Debe ingresar su correo electrónico';
$img = 'incorrecto.png';
$error = 1;
}
else if(strlen($pass) <=0){
$msj = 'Debe elegir una contraseña para su cuenta';
$img = 'incorrecto.png';
$error = 1;
}
else if(strlen($pass) < 4 || strlen($pass) > 16){
$msj = 'La contraseña debe tener entre 4 y 16 caracteres';
$img = 'incorrecto.png';
$error = 1;
}
//validación de caracteres especiales en mail
else if(strpos($mail, "@") == false || strpos($mail, ".") == false)
{
$msj = $mail .' no es valido como correo electrónico';
$img = 'incorrecto.png';
$error = 1;
}
else{ //SI TODO ESTA CORRECTO
// conectamos con la base de datos
require("../database/database.php");
$conexion = mysqli_connect($host, $user , $passdb);
if(!$conexion){
echo "alert('No se pudo conectar con la base de datos');";
}
else {
mysqli_select_db($conexion, $db);
}
//comprobamos que el mail no esté registrado
$buscarmailquery = "call BUSCARMAIL('".$mail."');";
$buscarmail = mysqli_query($conexion, $buscarmailquery);
if($row = mysqli_fetch_assoc($buscarmail)){
$retorno = $row['retorno'];
}
if ($retorno >0){ //si el mail ya esta registrado.
$msj = $mail . ' ya está registrado.';
$img = 'incorrecto.png';
$error = 1;
}
else{ //si el mail está disponible
//ejecutamos el procedimiento crearusuario
$registroquery = "call CREARUSUARIO('".$nombre."', '".$apellido."', '".$mail."', '".$pass."');";
$registro = mysqli_query( $conexion, $registroquery);
$msj = 'Su cuenta ha sido creada correctamente.<br>Bienvenido!';
$img = 'correcto.png';
$error = 0;
}
mysqli_close($conexion);
}
?>
Espero que puedan ayudarme
Valora esta pregunta


0