Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dan_SB en 31 de Julio 2015, 04:34

Título: MySql consulta mysqli_query SELECT FROM WHERE or die mysqli_error
Publicado por: Dan_SB en 31 de Julio 2015, 04:34
Hola de nuevo...

Vengo otra vez con el mismo tema de la pagina, bueno, la parte de mysql en especifico la verdad. Es que no puedo entender de donde sale mi error en el siguiente codigo:

Código: [Seleccionar]
$host="********";
    $username="*****";
    $pass="*******";
    $db_name="*****";
    $tbl_name="*****";
    $connect = mysqli_connect($host,$username,$pass,$db_name)or die("cannot connect");
    $registros=mysqli_query($connect,"select idPacientes from Pacientes where idPacientes=$_REQUEST[id]") or die("Ha ocurrido un problema...<br>".mysqli_error($connect));
    echo "<center><h1>Datos del paciente</h1></center>";
    while ($reg=mysqli_fetch_array($registros))
{
    echo "<h3><span class='span'>Nombre del Paciente:</span> ".$reg['Nombre']."</h3><br>";?>                                                                                                                                               <img class="im" src="http://i.imgur.com/dwBdY4i.png"/><?php
    
echo "<h3><span class='span'>Cedula:</span> ".$reg['Cedula']."</h3><br><br>";
    echo 
"<h3><span class='span'>Edad:</span> ".$reg['Edad']."</h3><br><br>";
    echo 
"<h3><span class='span'>Sexo:</span> ".$reg['Sexo']."</h3><br><br>";
    echo 
"<h3><span class='span'>Tipo de Sangre:</span> ".$reg['Tipo_Sangre']."</h3><br><br>";
    echo 
"<h3><span class='span'>Direccion:</span> ".$reg['Direccion']."</h3><br><br>";
    echo 
"<h3><span class='span'>Teléfono:</span> ".$reg['Telefono']."</h3><br><br>";
}
    
mysqli_close($conexion);

Lo que quiero hacer es que primero me imprima los nombres de mi tabla como hipervinculos.. y que al darle clic al nombre, me imprima todos los datos de esa fila.

Al darle clic al nombre, crei haberlo hecho bien pero me sale el error siguiente:

(http://i.imgur.com/AbWYqmE.png)

¿Me podrian ayudar a ver que pasa aqui?  :o
Título: Re:MySql consulta mysqli_query SELECT FROM WHERE or die mysqli_error
Publicado por: César Krall en 31 de Julio 2015, 12:45
Hola Dan!

Para localizar el error en la consulta prueba introducir
echo "CONSULTA: select idPacientes from Pacientes where idPacientes=$_REQUEST[id]"

Una vez hecho eso ¿qué mensaje es el que se te muestra por pantalla? (Ahí veremos la consulta para tratar de saber donde esta el error)

Saludos!
Título: Re:MySql consulta mysqli_query SELECT FROM WHERE or die mysqli_error
Publicado por: Dan_SB en 31 de Julio 2015, 18:30
Hola Cesar!!

Pegue el codigo, y me salio de esta manera:
(http://i.imgur.com/k5DBwUj.png)

Quizas lo haya pegado en donde no era... ¿Me podrias especificar donde exactamente lo escribo?

Código: [Seleccionar]
  $connect = mysqli_connect($host,$username,$pass,$db_name)or die("cannot connect");
    $registros=mysqli_query($connect,"select idPacientes from Pacientes where idPacientes=$_REQUEST[id]") or die("Ha ocurrido un problema...<br>".mysqli_error($connect));
    echo "<center><h1>Datos del paciente</h1></center>";
    while ($reg=mysqli_fetch_array($registros))
{
    echo "<h3><span class='span'>Nombre del Paciente:</span> ".$reg['Nombre']."</h3><br>";?>                                                                                                                                               <img class="im" src="http://i.imgur.com/dwBdY4i.png"/><?php
    
echo "<h3><span class='span'>Cedula:</span> ".$reg['Cedula']."</h3><br><br>";
    echo 
"<h3><span class='span'>Edad:</span> ".$reg['Edad']."</h3><br><br>";
    echo 
"<h3><span class='span'>Sexo:</span> ".$reg['Sexo']."</h3><br><br>";
    echo 
"<h3><span class='span'>Tipo de Sangre:</span> ".$reg['Tipo_Sangre']."</h3><br><br>";
    echo 
"<h3><span class='span'>Direccion:</span> ".$reg['Direccion']."</h3><br><br>";
    echo 
"<h3><span class='span'>Teléfono:</span> ".$reg['Telefono']."</h3><br><br>";
}
    
mysqli_close($conexion);
    
?>

Por cierto, la parte que reemplace fue esta:

Código: [Seleccionar]
$registros=mysqli_query($connect,"select idPacientes from Pacientes where idPacientes=$_REQUEST[id]") or die("Ha ocurrido un problema...<br>".mysqli_error($connect));
Creo que el dato no se almaceno en la variable parámetro de la pagina anterior...

No se si aqui hay algo mal escrito o que... (no creo que aqui hay algo malo..)
Código: [Seleccionar]
   <?php
    $host
="sql211.byethost18.com";
    
$username="b18_16292122"
    
$pass="adventista_01"
    
$db_name="b18_16292122_HOSPITAL"
    
$tbl_name="Pacientes"
    
$connect mysqli_connect($host,$username,$pass,$db_name)or die("cannot connect");

    
$registros=mysqli_query($connect,"select Nombre from Pacientes") or die("Problemas en el select: ".mysqli_error($connect));
    
?>
<ol class="list">
    <?php while ($reg=mysqli_fetch_array($registros))
{    
    echo 
"<li><a href=\"abierto.php?id=$reg[idPacientes]\">".$reg['Nombre']."</a></li><br>";
}
mysqli_close($connect);
?>
Título: Re:MySql consulta mysqli_query SELECT FROM WHERE or die mysqli_error
Publicado por: César Krall en 31 de Julio 2015, 20:03
En lo que te muestra por pantalla se ve que no te está rescatando  $_REQUEST[id]; es decir que te tiene que llegar el dato de id pero no está llegando o no lo estás recuperando bien.

Tienes que comprobar si te llega la información para ello puedes escribir:

echo "Informacion recibida: ". $_REQUEST['id'];

Fíjate que estás escribiendo $_REQUEST[id] sin las comillas dentro del corchete y eso puede ser lo que te esté generando el problema.

Además debes pensar en realizar una concatenación del tipo:

Código: [Seleccionar]
$registros=mysqli_query($connect,"select idPacientes from Pacientes where idPacientes=".$_REQUEST['id']) or die("Ha ocurrido un problema...<br>".mysqli_error($connect));
Cuidando las comillas, que también pueden ocasionar problemas

Saludos!
Título: Re:MySql consulta mysqli_query SELECT FROM WHERE or die mysqli_error
Publicado por: Dan_SB en 03 de Agosto 2015, 17:47
Ya lo pude resolver Cesar..

Me faltaban unas comillas entre el request en el select, y descubri otro problema mas, pero esta vez en la base de datos...

Resulta que cuando solicito imprimir el ID no imprime absolutamente nada, pero con los nombres si funciona perfecto.

Pense que las relaciones entran en juego aquí...  ¿Sera que he relacionado mal las tablas o algo por el estilo?
Título: Re:MySql consulta mysqli_query SELECT FROM WHERE or die mysqli_error
Publicado por: César Krall en 04 de Agosto 2015, 16:02
Hola!

Si te rescata el campo nombre pero no el campo ID puede suceder lo siguiente:

- El campo ID no existe en la tabla

- El campo ID tiene otro nombre distinto, a lo mejor es Id en lugar de ID

Para asegurarte entra con phpMyAdmin y comprueba el nombre exacto del campo y comprueba que esté en la misma tabla que el campo nombre. Si está en otra tabla no te lo rescatará, tendrías que formular la consulta de otra manera.

Saludos!