MySQL no recoge datos – php mysql mysqli

Pregunta:


Estoy intentado recoger datos para mostrar en mi pagina comentarios pero no los recoge la tabla…

¿Me podéis ayudar?

Os adjunto código y captura de base datos.

<?php
$host_name = 'dbxxxxxx.db.1and1.com';
$database = 'dbxxxxx';
$user_name = 'dboxxxx';
$password = '<xxxx>';
$connect = mysqli_connect($host_name, $user_name, $password, $database);

if (mysqli_connect_errno()) {
    die('<p>Error al conectar con servidor MySQL: '.mysqli_connect_error().'</p>');
} else {
    echo '<p>Se ha establecido la conexión al servidor MySQL con éxito.</p >';
}
?>

<HTML>
<HEAD>
<TITLE>Deja un mensaje</TITLE>
</HEAD>
<BODY>

<FORM ACTION="procesar_mensaje.php" METHOD=POST>
<B>Nombre de usuario:</B>
<INPUT TYPE=text SIZE=20 NAME="usuario">
<BR>
<B>Escribe tu mensaje:</B>
<BR>
<TEXTAREA ROWS=10 COLS=70 NAME="mensaje"></TEXTAREA>
<BR>
<INPUT TYPE=submit VALUE="Enviar mensaje">
</FORM>

<HR>

<?PHP

$host_name = 'dbxxxxx.db.1and1.com';
$database = 'dbxxxxx';
$user_name = 'dboxxxxx';
$password = '<xxxxx>';
$connect = mysqli_connect($host_name, $user_name, $password, $database);

if (mysqli_connect_errno()) {
    die('<p>Error al conectar con servidor MySQL: '.mysqli_connect_error().'</p>');
} else {
    echo '<p>Se ha establecido la conexión al servidor MySQL con éxito.</p >';
}
if ($conexion)
{
    $resultado = mysqli_query("SELECT id, usuario, fecha, mensaje FROM comentarios ORDER BY id DESC", $conexion);
    while ($fila = mysqli_fetch_row($resultado))
    {
        echo "<B>Mensaje</B> #" . $fila[0] . "; ";
        echo "<B>Escrito por:</B> " . $fila[1] . "; ";
        echo "<B>Fecha:</B> " . $fila[2] . "; ";
        echo "<BR>";
        echo $fila[3];
        echo "<HR>";
    }
}


?>

</BODY>
</HTML>

base datos

Preguntado por: rolmo

Dev. Joel

Tiene al menos dos errores bien marcados en su código.

  • Su variable o enlace de conexión es $connect y no $conexion , debe modificar a un solo nombre. (conexión para mi respuesta)
  • mysqli_query espera como primer parámetro la conexión y luego la query a ejecutar , su error ? le está enviando los parámetros equivocadamente.

Posible código final

//variable conexion
$conexion = mysqli_connect($host_name, $user_name, $password, $database);

if (mysqli_connect_errno()) {
    die('<p>Error al conectar con servidor MySQL: '.mysqli_connect_error().'</p>');
} else {
    echo '<p>Se ha establecido la conexión al servidor MySQL con éxito.</p >';
}
if ($conexion)
{
    $resultado = mysqli_query($conexion,"SELECT id, usuario, fecha, mensaje FROM comentarios ORDER BY id DESC");
    while ($fila = mysqli_fetch_row($resultado))
    {
        echo "<B>Mensaje</B> #" . $fila[0] . "; ";
        echo "<B>Escrito por:</B> " . $fila[1] . "; ";
        echo "<B>Fecha:</B> " . $fila[2] . "; ";
        echo "<BR>";
        echo $fila[3];
        echo "<HR>";
    }
}

Fuente

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *