| |||
Respuesta: problemas con consultas multiples php mysql si, tiene pinta que el error le viene por el lado del mysql, el codigo php esta correcto. |
| |||
Respuesta: problemas con consultas multiples php mysql Cita: hice lo que dijiste y el resultado del echo fue el siguiente:select nombre from paices call datos_usuario("[email protected]") al probar estas consultas en el workbench las ejecutó normalmente y dio los resultados correctos. |
| |||
Respuesta: problemas con consultas multiples php mysql Corrijo: el codigo PHP es correcto en caso de que su servidor esté configurado con autoinicio de sesión, en caso contrario debería escribir "session_start()" al inicio del script... |
| |||
Respuesta: problemas con consultas multiples php mysql claro es el problema al no existir session_start() no pasa la sesion del email para el call añadelo session_start(); al principio del todo <?php session_start(); include("../seguridad/logueado.php"); $mail = $_SESSION['usuario']; |
| |||
Respuesta: problemas con consultas multiples php mysql Incluso sin tener el session_start(); el resultado que se guarda en $mail es el correcto. Por ejemplo, cuando hice el echo me mostro: call datos_usuario("[email protected]") y los datos que recupera esa llamada al procedimiento los manejo correctamente (es decir, los muestro en pantalla). De todas maneras para no descartar posibles soluciones lo probe, añadiendo session_start(); al comienzo del script y sigue igual :( |
| |||
Respuesta: problemas con consultas multiples php mysql jeje disculpen si los estoy volviendo locos pero al igual que ustedes estube dias sin enteder por que no funciona :( En realidad es un simple formulario para editar un perfil, en el cual recupero los datos y los muestro en sus respectivos campos para editar. La verdad no se que mas probar jeje |
| |||
Respuesta: problemas con consultas multiples php mysql Si no fuera lo del session_start() tiene que ser algo relacionado con la función CALL del MySQL. Por lo que he leído ésta función llama a un procedimiento previamente guardado en la base de datos: http://dev.mysql.com/doc/refman/5.0/en/call.html que tiene que ser creado previamente: http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html Mi siguiente duda es ¿está el procedimiento de mysql "datos_usuario( )" haciendo correctamente su trabajo? Creo que ya nos acercamos al origen del problema. |
| |||
Respuesta: problemas con consultas multiples php mysql aver, probé enviar las consultas select antes de la llamada al procedimiento y funcionó, pero si intento ejecutar otro procedimiento (antes o despues del que ya tenemos) se ejecuta solo un procedimiento y es el que tenemos en primer lugar en el script. |
| |||
Respuesta: problemas con consultas multiples php mysql Cita: si, definitivamente el procedimiento está y funciona perfectamente. el problema por lo que puedo deducir, es que una ves que hago una llamada a un procedimiento luego no puedo seguir ejecutando consultas (ni consultas de tipo select ni otras llamadas a procedimientos)
Iniciado por jmdesarrollo Si no fuera lo del session_start() tiene que ser algo relacionado con la función CALL del MySQL. Por lo que he leído ésta función llama a un procedimiento previamente guardado en la base de datos: http://dev.mysql.com/doc/refman/5.0/en/call.html que tiene que ser creado previamente: http://dev.mysql.com/doc/refman/5.0/...procedure.html Mi siguiente duda es ¿está el procedimiento de mysql "datos_usuario( )" haciendo correctamente su trabajo? Creo que ya nos acercamos al origen del problema. |
| |||
Respuesta: problemas con consultas multiples php mysql Cita: Más dudas: ¿Puede éste tipo de función devolver datos? Y, ¿Los está devolviendo? Mi siguiente duda es ¿está el procedimiento de mysql "datos_usuario( )" haciendo correctamente su trabajo? |
| |||
Respuesta: problemas con consultas multiples php mysql Cita: si puede, y de hecho, como dije antes, esos datos los muestro perfectamente en pantalla.Si pongo las consultas select antes de la llamada al procedimiento funciona y puedo mostrar todos los datos en pantalla. Es decir: [PHP] <?php session_start(); include("../seguridad/logueado.php"); $mail = $_SESSION['usuario']; // CONECTAMOS A LA BASE DE DATOS BITARE 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); } $paicesquery = "select nombre from paices"; $paicesresult = mysqli_query($conexion, $paicesquery); $provinciasquery = "select nombre from provincias"; $provinciasresult = mysqli_query($conexion, $provinciasquery); $datosquery = 'call datos_usuario("'.$mail.'")'; $datos = mysqli_query($conexion, $datosquery); if($row = mysqli_fetch_assoc($datos)){ $nombre = $row['nombre']; $apellido = $row['apellido']; $dni = $row['dni']; $fechaNacimiento = $row['fecha_nacimiento']; $pais = $row['pais']; $provincia = $row['provincia']; $ciudad = $row['ciudad']; $telefono = $row['telefono']; $profesion = $row['profesion']; $rubro = $row['profesion_rubro']; $intereses = $row['intereses']; $imagen = $row['imagen']; $establecimiento = $row['establecimiento']; $actividad = $row['actividad']; $sexo = $row['sexo']; $fechaArray = explode("/", $fechaNacimiento); $dia = $fechaArray[0]; $mes = $fechaArray[1]; $anio = $fechaArray[2]; } ?> y luego: Código PHP: |
| |||
Respuesta: problemas con consultas multiples php mysql Pero para eso tienes el mysqli_free_result() ¿no? |
| |||
Respuesta: problemas con consultas multiples php mysql claro, pero es lo que tenia al principio y no funciona :P |
| |||
Respuesta: problemas con consultas multiples php mysql $paicesquery = "select nombre from paices"; $paicesresult = mysqli_query($conexion, $paicesquery); mysqli_free_result($paicesresult); $provinciasquery = "select nombre from provincias"; $provinciasresult = mysqli_query($conexion, $provinciasquery); mysqli_free_result($provinciasresult ); $datosquery = 'call datos_usuario("'.$mail.'")'; $datos = mysqli_query($conexion, $datosquery); $row = mysqli_fetch_assoc($datos); mysqli_free_result($datos ); if($row){ $nombre = $row['nombre']; $apellido = $row['apellido']; $dni = $row['dni']; $fechaNacimiento = $row['fecha_nacimiento']; $pais = $row['pais']; $provincia = $row['provincia']; $ciudad = $row['ciudad']; $telefono = $row['telefono']; $profesion = $row['profesion']; $rubro = $row['profesion_rubro']; $intereses = $row['intereses']; $imagen = $row['imagen']; $establecimiento = $row['establecimiento']; $actividad = $row['actividad']; $sexo = $row['sexo']; $fechaArray = explode("/", $fechaNacimiento); $dia = $fechaArray[0]; $mes = $fechaArray[1]; $anio = $fechaArray[2]; }else{echo'no se ejecuto la consulta';} ?> y asi?? el mysqli_free_result no es necesario ponerlo al final yo lo pongo despues de cada consulta y funciona Última edición por webankenovi; 28/12/2011 a las 11:58 |
| |||
Respuesta: problemas con consultas multiples php mysql si pongo el mysqli_free_result apenas hago la consulta, luego el mysqli_fetch_assoc arroja error: "Warning: mysqli_fetch_assoc() [function.mysqli-fetch-assoc]: Couldn't fetch mysqli_result in ..." si lo pongo luego de mostrar los datos funciona, pero persiste el problema |
| |||
Respuesta: problemas con consultas multiples php mysql
Código HTML:
Ver original |
| |||
Respuesta: problemas con consultas multiples php mysql jeje probe asi y la pagina quedo cargando infinitamente :P me mostro en pantalla el contenido html hasta el componente select, y este ultimo seguia cargando el mismo pais infinitamente :P No se si se entiende, es como si quedara en un bucle infinito cargando el primer pais. supongo que debe ser por que no esta el mysqli_fetch_assoc para indicarle cuando debe parar de cargar y cuando debe pasar al proximo ? |
| |||
Respuesta: problemas con consultas multiples php mysql si esta el mysql_fetch_assoc pero lo cargas antes de y luego lo llamas con la variable prueba tal y como t lo di pero cambia el mysqli_fetch_assoc por mysqli_fetch_array haber que sucede |
| |||
Respuesta: problemas con consultas multiples php mysql haber pruaba asi , ya estamos cerca .....
Código HTML:
Ver original |
| |||
Respuesta: problemas con consultas multiples php mysql cambiando el mysqli_fetch_assoc por mysqli_fetch_array sucede lo mismo. supongo que será por que en el while no le indicamos que avance al siguiente elemento del array? Código PHP: |
| |||
Respuesta: problemas con consultas multiples php mysql ya te lo di cambiado pruebalo te lo vuelvo a dar
Código HTML:
Ver original |
| |||
Respuesta: problemas con consultas multiples php mysql si jeje, mi respuesta con la tuya fue un desencuentro en el tiempo de posteo :P probé esta ultima forma y al igual que al principio, los datos de los paises no se cargan :( es decir, en el select los datos datos de $paices no se cargan |
| |||
Respuesta: problemas con consultas multiples php mysql if($paices['nombre'] == $pais){ $pais que valor tiene donde esta? ok ya lo vi pero tu estas diciendo que solo te muestre si paices nombre sea igual a un pais dentro de la tabla del usuario y esto no lo entiendo que kieres mostrar en el select??nombres de paises.... |
| |||
Respuesta: problemas con consultas multiples php mysql $pais es uno de los valores que recuperamos con $datos Código PHP: |
| |||
Respuesta: problemas con consultas multiples php mysql entnces digamos que el error se encuentra ahora mismo aki <tr> <td width="78"><label> <select name="pais" class="textfield3" id="pais"> <?php while($paices = mysqli_fetch_array($paicesresult)){ echo '<option value="'.$paices['nombre'].'"'; if($paices['nombre'] == $pais){ echo ' selected="selected"'; } echo '>'.$paices['nombre'].'</option>'; } mysqli_free_result($paicesresult); ?> </select> </label></td> esto es lo que no te funciona ahora mismo no? |
Etiquetas: |