Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    PHP non riesco a trovare l'errore

    Allora dopo aver creato una registrazione in php ho cercato di creare il login però non funziona e mi da questo errore:
    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\registrazionediprova\login.php on line 9

    Eccovi il codice sorgente:
    <?php

    include ("connessione.php");
    $email = $_POST['email'];
    $pwd = $_POST['pwd'];


    $query = mysql_query("SELECT COUNT (*) as 'conteggio' FROM utenti WHERE email = '$email' AND pwd = '$pwd'");
    $array = mysql_fetch_array($query);
    $conteggio = $array['conteggio'];

    if($conteggio > 0) {
    echo "Login effettuato con successo";
    }
    else{
    echo "Login fallito!";
    }

    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mysql_query può restituire il booleano false anzichè una resource in caso di errore... verifica dunque la query... sarebbe anche bene sempre fare un controllo del tipo if ($query!==false) {...

  3. #3
    Originariamente inviato da eiyen
    mysql_query può restituire il booleano false anzichè una resource in caso di errore... verifica dunque la query... sarebbe anche bene sempre fare un controllo del tipo if ($query!==false) {...
    Susa puoi spiegarti meglio XD

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    cambia:

    Codice PHP:
    $query mysql_query("SELECT COUNT (*) as 'conteggio' FROM utenti WHERE email = '$email' AND pwd = '$pwd'");
    $array mysql_fetch_array($query); 
    con:
    Codice PHP:
    $query "SELECT COUNT (*) as 'conteggio' FROM utenti WHERE email = '$email' AND pwd = '$pwd'"var_export($query); $query=mysql_query($query);
    var_export($query);
    $array mysql_fetch_array($query); 
    e posta il risultato delle due visualizzazioni, verifica anche a video com'è la query che viene eseguita... prova poi la stessa query direttamente sul db (p.es. con phpmyadmin) e verifica se restituisce un risultato, nessun record o un errore di sintassi.

    In pratica l'errore direbbe che stai richiamando la funzione mysql_fetch_array su ciò che credi sia una resource di una SELECT, ma probabilmente ti viene restituito il valore (booleano) false perchè c'è un problema.

  5. #5
    'conteggio'

    togli le apici all'alias altrimenti non ti rappresentera' il valore di count ma sara' una semplice stringa.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Originariamente inviato da piero.mac
    'conteggio'

    togli le apici all'alias altrimenti non ti rappresentera' il valore di count ma sara' una semplice stringa.
    Io uso gli apici e non ho mai avuto problemi.

    Comunque credo che sia più chiaro postare oltre al codice php, anche i database usati con i relativi campi.

    Questo tipo problema può essere causato dal fatto che i nomi dei campi del DB siano diversi rispetto a quelli usati nel php..

    Come ti è già stato suggerito conviene filtrare i dati in input:

    codice:
    $email = mysql_escape_string($_POST['email']);
    $pwd= mysql_escape_string($_POST['pwd']);
    Il Blog:
    http://www.maskone.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.