Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/10/2014, 15:22
matake
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años, 6 meses
Puntos: 10
Respuesta: Error con mysql_fetch array

Supongo que en alguna parte antes de este codigo habras puesto:

define("DB_HOST", "localhost"); //o el host que tienes
define("DB_USER", "tu_nombre_usuario_mysql");
define("DB_PASSWORD", "tu_contraseña_mysql");

aunqe y nunca he utilzado constantes para esto ... pero variables
$db_host; etc.

Tambienn mejor separar un poco el codigo para entenderlo mejor

Código PHP:
Ver original
  1. <?php
  2. /*conectar base datos*/
  3. $con=mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, 'colegio');
  4.  
  5. /* verificar la conexión */
  6.     die("Falló la conexión: %s\n", $con->connect_error);
  7. }
  8.  
  9. /* hacer consulta */
  10. $query ="SELECT * FROM `alumnos` WHERE dni='".$dni."'");
  11.  
  12. /* guardar resultado */
  13. $resultado = $mysqli->query($query);
  14.  
  15. /* comprobar si hay alguna coincidencia */
  16. if($resultado && $resultado->rowCount()>0){
  17.  
  18.     /* extraer fila del resultado*/
  19.     $fila = $resultado->fetch();//si tienes mas filas hacer un bucle con while
  20.    
  21.    
  22.    
  23.     //if($query['clave']==$secret_key){ // esto lo que tenias para que funcione se transforma en:
  24.    
  25.     /* comprobar si coincide lo que te mandoaron con lo que tienes */
  26.     if($fila['clave'] === $secret_key){
  27.         echo "Esta ok y el resto de codigo que quieres poner";
  28.     }else{
  29.         echo "Contraseña no valida y/o codigo que quierras";
  30.     }
  31.    
  32.    
  33. }else{
  34.     echo "no se ha encontrado ninguna coincidencia en la base datos";
  35. }
  36. //fin del problema  :)
  37. ?>

lo del fin del problema al final era una broma :) ya que los problemas ... casi nunca no terminan

No se que tipo de interes tendras en la seguridad pero se sugiere siempre usar PDO en vez de mysqli puro para evitar inyecciones.
O al menos chequear todos los datos entrantes usuario pass o sea Todo $_POST $_GET $_COOKIE ...

Última edición por matake; 26/10/2014 a las 15:30