Ver Mensaje Individual
  #6 (permalink)  
Antiguo 20/08/2009, 15:21
Avatar de PacoRuiz
PacoRuiz
 
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
Respuesta: problemas con el select

Bueno, he hecho todo lo que habéis dicho y este es el código resultante:


Código:
<?php
$lognick=$_POST['usuario'];
$logpass=$_POST['contrasena'];
$link=mysql_connect("localhost","root","");
mysql_select_db(dbimagenes,$link);
$result=mysql_query("select nick, contraseña from autores WHERE nick='$lognick' AND contraseña='$logpass'"); 
if (mysql_num_rows($result) == '0'){
    echo "sin resultado";
    }
else{
$fila = mysql_fetch_assoc($result);
    $valor=$fila["$nick"] ;
    echo "$valor";
    echo "aqui estoy";
}
?>
El resultado es que si meto un usuario y contraseña incorrectos me dice sin resultado, y si son corerctos me dice aquí estoy, pero no me muestra el usuario y contraseña.

He mirado mysql_fetch_assoc en el manual y viene el siguiente código de ejemplo. Por ejemplo, no entiendo por qué no puedo usar if(!$result), si lo usa en el ejemplo, cómo es que a mi no me funciona. El resto del código entiendo que está bien, al menos según el ejemplo.
Código:
<?php

$conexion = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!$conexion) {
    echo "No pudo conectarse a la BD: " . mysql_error();
    exit;
}

if (!mysql_select_db("nombre_de_la_bd")) {
    echo "No ha sido posible seleccionar la BD: " . mysql_error();
    exit;
}

$sql = "SELECT id as id_usuario, nombre_completo, status_usuario
        FROM   alguna_tabla
        WHERE  status_usuario = 1";

$resultado = mysql_query($sql);

if (!$resultado) {
    echo "No pudo ejecutarse satisfactoriamente la consulta ($sql) " .
         "en la BD: " . mysql_error();
    exit;
}

if (mysql_num_rows($resultado) == 0) {
    echo "No se han encontrado filas, nada a imprimir, asi que voy " .
         "a detenerme.";
    exit;
}

// Mientras exista una fila de datos, colocar esa fila en $fila
// como una matriz asociativa
// Nota: Si solo espera una fila, no hay necesidad de usar un ciclo
// Nota: Si coloca extract($fila); dentro del siguiente ciclo,
//       estara creando $id_usuario, $nombre_completo, y $status_usuario
while ($fila = mysql_fetch_assoc($resultado)) {
    echo $fila["id_usuario"];
    echo $fila["nombre_completo"];
    echo $fila["status_usuario"];
}

mysql_free_result($resultado);

?>