Foros del Web » Programando para Internet » PHP »

problemas con consultas multiples php mysql

Estas en el tema de problemas con consultas multiples php mysql en el foro de PHP en Foros del Web. prueba asi para ver nada mas sin if <?php while($paices = mysqli_fetch_array($paicesresult)){?> <select name="pais" class="textfield3" id="pais"> <option value="<?php $paices['nombre']; ?>" selected="selected"><?php $paices['nombre']; ?></option> </select> </label> ...

  #61 (permalink)  
Antiguo 28/12/2011, 12:50
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas con consultas multiples php mysql

prueba asi para ver nada mas sin if

<?php
while($paices = mysqli_fetch_array($paicesresult)){?>

<select name="pais" class="textfield3" id="pais">
<option value="<?php $paices['nombre']; ?>" selected="selected"><?php $paices['nombre']; ?></option>
</select>
</label>

<?php }
mysqli_free_result($paicesresult);
?>
  #62 (permalink)  
Antiguo 28/12/2011, 12:54
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas con consultas multiples php mysql

esto te deberia de funcionar

Código PHP:
Ver original
  1. <?php
  2. while($paices = mysqli_fetch_array($paicesresult)){?>
  3.  
  4. <select name="pais" class="textfield3" id="pais">
  5. <option value="<?php $paices['nombre']; ?>"
  6. <?php if($paices['nombre'] == $pais){ echo ' selected="selected"';}?>><?php $paices['nombre']; ?></option>
  7. </select>
  8. </label>
  9.  
  10. <?php }
  11. mysqli_free_result($paicesresult);
  12. ?>
  #63 (permalink)  
Antiguo 28/12/2011, 12:55
 
Fecha de Ingreso: mayo-2009
Mensajes: 66
Antigüedad: 15 años
Puntos: 0
Respuesta: problemas con consultas multiples php mysql

lo mismo :(
  #64 (permalink)  
Antiguo 28/12/2011, 12:59
 
Fecha de Ingreso: mayo-2009
Mensajes: 66
Antigüedad: 15 años
Puntos: 0
Respuesta: problemas con consultas multiples php mysql

definitivamente el problema debe residir en la llamada mysqli_query() con el "call procedimiento()"

si ejecuto consultas antes, las corre lo mas bien, pero una ves ejecutado el mysqli_query() con "call ...." ya no me deja seguir ejecutando consultas.

la unica solución que logre para MI codigo fue ejecutar las consultas select antes del call pero si necesitaramos ejecutar dos procedimientos, no podriamos hacerlo :P

Te agradezco webankenovi, y tambien a jmdesarrollo por su ayuda. Ahora mismo tengo que salir, si encuentro la solucion mas tarde la posteo para que quede asentado si alguien mas lo necesita.

Muchas gracias!
  #65 (permalink)  
Antiguo 28/12/2011, 13:00
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas con consultas multiples php mysql

vale estamos ya muy liados yo creo jajaja haber pon esto y me dices todos los errores que te salgan y los echo que muestre

Código HTML:
Ver original
  1. <?php
  2. session_start();
  3. include("../seguridad/logueado.php");
  4. $mail = $_SESSION['usuario'];
  5.  
  6. // CONECTAMOS A LA BASE DE DATOS BITARE
  7. require("../database/database.php");
  8. $conexion = mysqli_connect($host, $user , $passdb);
  9.  
  10. if(!$conexion){
  11.  
  12.   echo "alert('No se pudo conectar con la base de datos')";
  13.  
  14.   }else{
  15.        
  16.   mysqli_select_db($conexion, $db);
  17.  
  18.   }
  19.  
  20. $paicesquery = "select nombre from paices";
  21. $paicesresult = mysqli_query($conexion, $paicesquery) or die (mysqli_error());
  22.  
  23. $datosquery = 'call datos_usuario("'.$mail.'")';
  24. $datos = mysqli_query($conexion, $datosquery) or die (mysqli_error());
  25.  
  26. if($row = mysqli_fetch_array($datos)){
  27.    
  28.   $nombre = $row['nombre'];
  29.   $apellido = $row['apellido'];
  30.   $dni = $row['dni'];
  31.   $fechaNacimiento = $row['fecha_nacimiento'];
  32.   $pais = $row['pais'];
  33.   $provincia = $row['provincia'];
  34.   $ciudad = $row['ciudad'];
  35.   $telefono = $row['telefono'];
  36.   $profesion = $row['profesion'];
  37.   $rubro = $row['profesion_rubro'];
  38.   $intereses = $row['intereses'];
  39.   $imagen = $row['imagen'];
  40.   $establecimiento = $row['establecimiento'];
  41.   $actividad = $row['actividad'];
  42.   $sexo = $row['sexo'];
  43.  
  44.   $fechaArray = explode("/", $fechaNacimiento);
  45.   $dia = $fechaArray[0];
  46.   $mes = $fechaArray[1];
  47.   $anio = $fechaArray[2];
  48.  
  49.   }else{
  50.        
  51.   echo'no se ejecuto la consulta';
  52.  
  53.   }
  54.   mysqli_free_result($datos);
  55.   ?>
  56.  
  57.  
  58. <?php
  59. while($paices = mysqli_fetch_array($paicesresult)){?>
  60.  
  61. <select name="pais" class="textfield3" id="pais">
  62. <option value="<?php $paices['nombre']; ?>"
  63. <?php if($paices['nombre'] == $pais){ echo ' selected="selected"';}?>><?php $paices['nombre']; ?></option>
  64.  
  65. <?php }
  66. mysqli_free_result($paicesresult);
  67. ?>
  #66 (permalink)  
Antiguo 29/12/2011, 11:40
Avatar de aleksdj  
Fecha de Ingreso: enero-2011
Mensajes: 31
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: problemas con consultas multiples php mysql

Tiene pinta de ser efectivamente el tema del "case sensitive", a mi me ha pasado muchas veces por programar en windows y producir en linux, mira a ver si es tu caso...
__________________
Las mantas más chulas y baratas en tiradelamanta.com, creada en palbin.com, servicio web para crear tienda online.
  #67 (permalink)  
Antiguo 29/12/2011, 17:29
Avatar de leo_  
Fecha de Ingreso: abril-2008
Mensajes: 40
Antigüedad: 16 años
Puntos: 11
Sonrisa Respuesta: problemas con consultas multiples php mysql

Hola para tratar de reproducir el escenario con una tabla q ya tenia creada hice un procedimiento almacenado asi:
Código MySQL:
Ver original
  1. delimiter //
  2. create procedure test.comentario(in Xid int)
  3. select * from comentarios where id = Xid;
  4. end //
  5. delimiter ;
Luego cree este script:
Código PHP:
<?php
$link 
mysqli_connect('host','user','pass','test');
$sql "call comentario(34)";
$consulta mysqli_query($link,$sql);
echo 
"<pre>";
while (
$fila mysqli_fetch_assoc($consulta)){
    
print_r($fila);
}
mysqli_free_result($consulta);

$sql "select * from comentarios";
$consulta mysqli_query($link,$sql);
while (
$fila mysqli_fetch_assoc($consulta)){
    
print_r($fila);
}
mysqli_free_result($consulta);

echo 
"</pre>";
Y obtuve el error:
Cita:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in...on line 13
Bueno y después de un rato di con esto:
Código PHP:
mysqli Object (    
[
errno] => 2014    
[error] => Commands out of syncyou cant run this command now    

O sea después de ejecutar mysqli_query("call comentario(34)") la conexión se cae. En mi opinión la solución más rápida para coco2287 sería:
Código PHP:
<?php
$conexion 
mysqli_connect($host$user $passdb,$db);
$paicesquery "select nombre from paices;";
$paicesresult mysqli_query($conexion$paicesquery);
while(
$paices mysqli_fetch_assoc($paicesresult)){
    echo 
'<option value="'.$paices['nombre'].'"';
    if(
$paices['nombre'] == $pais){
        echo 
' selected="selected"';
    }
    echo 
'>'.$paices['nombre'].'</option>';
}
mysqli_free_result($paicesresult);
?>
Bueno q se yo espero haber sido de ayuda. Saludos.
__________________
Di que no haces las cosas para que te las agradezcan, pero trata de hacerlas para gente agradecida. Cipriano.
  #68 (permalink)  
Antiguo 23/01/2012, 10:00
 
Fecha de Ingreso: mayo-2009
Mensajes: 66
Antigüedad: 15 años
Puntos: 0
Respuesta: problemas con consultas multiples php mysql

Yo luego de haber renegado tanto con este tema, opte por prescindir de los procedimientos almacenados mysql y en su lugar, use las consultas preparadas.

Para el fin que yo perseguía me son iguales de útiles, asique solucione mi asunto de esa forma.

Agrego que en lo personal, la conclusion que saqué sobre este problema es que luego de ejecutar una llamada a un procedimiento almacenad, se deberá cerrar la conexion y (en caso de necesitar ejecutar otra consulta) volver a abrirla.

Lo dejo aclarado para futuras generaciones :D

Etiquetas: html, multiples, mysql, usuarios
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 20:46.