Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Warning PHP

  1. #1

    Warning PHP

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\dieffeweb\database\registration.ph p on line 11

    Salve a tutti. Cosa vuol dire di preciso questo warning?? Come faccio ad evitarlo?

  2. #2
    Ti suggerisco di iniziare leggendo il manuale ufficiale:

    http://www.php.net/mysql_error

    Per il futuro, sarebbe utile che tu postassi un intorno del codice che solleva l'errore.

  3. #3
    Originariamente inviato da filippo.toso
    Ti suggerisco di iniziare leggendo il manuale ufficiale:

    http://www.php.net/mysql_error

    Per il futuro, sarebbe utile che tu postassi un intorno del codice che solleva l'errore.
    Ma a me non interessa mostrare l'errore, bensì eliminarlo. Anche perchè dopo questo warning l'esecuzione del codice seguente procede correttamente, ma con questo messaggio fastidioso...

  4. #4
    Originariamente inviato da Dreamer89
    Ma a me non interessa mostrare l'errore, bensì eliminarlo.
    Se non sai con esattezza quale è l'errore, come fai ad eliminarlo?
    Posta il risultato della chiamata a mysql_error().

    Originariamente inviato da Dreamer89
    Anche perchè dopo questo warning l'esecuzione del codice seguente procede correttamente, ma con questo messaggio fastidioso...
    Procederà anche "correttamente", ma visto che mysql_fetch_row() fallisce, non tutto il codice viene eseguito correttamente.

  5. #5
    Vai al link che ti è stato suggerito e cerca di capire come mai ti esce quell'errore, poi vai a vedere cosa si aspetta la funzione come variabili e confrontale con quelle che stai passando tu...

    Niente pappa pronta qui.. Giustamente
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  6. #6
    codice:
    $ris = mysql_query ("SELECT FROM users WHERE nick = '" . $nick . "' OR email = '" . $email . "'");
    if (count (mysql_fetch_row ($ris)) > 0)
    {
    	mysql_error();
    	if ($lang == "en")
    		die ("Nick or e-mail are already registered");
    	else if ($lang == "it")
    		die ("Nick o e-mail sono già registrati");
    }
    Questo il codice. Praticamente devo verificare che un record sia presente o meno in base al nick o all'e-mail. Ho richiamato la funzione mysql_error() ma il risultato è lo stesso.

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    codice:
    $ris = mysql_query ("SELECT FROM users WHERE nick = '" . $nick . "' OR email = '" . $email . "'");
    
    if($ris) {
      if(mysql_num_rows($ris)) {
        echo 'già presente';
      } else {
        echo 'non presente';
      }
    } else {
      echo 'La query è sbagliata e php non c\'entra nulla, di seguito l\'errore dato da mysql:'.mysql_error();
    }
    p.s. questo è un esempio di come procedere, l'errore è che non metti nulla tra SELECT e FROM.

    es.
    SELECT * FROM
    SELECT id FROM


  8. #8
    La chiamata a mysql_error() va fatta PRIMA di mysql_fetch_row() o, almento, all'esterno dell'IF, altrimenti NON verrà mai eseguita. Inoltre devi scrivere:

    Codice PHP:
    echo(mysql_error()); 
    Od un codice simile. Richiamare la funzione senza inviarne il risultato in output è praticamente inutile ai fini del problema che stai affrontando.

    Edit: Vedi l'errore individuato da gianiaz.

  9. #9
    io farei:

    Codice PHP:
    $errore = ($lang == "it")?"Ciccia in italiano":"Ciccia in inglese";

    $sql "SELECT COUNT(*) WHERE nick = '{$nick}' OR $email = '{$email}'";
    $q mysql_query($sql);
    if (
    $r mysql_fetch_array($q))
       if (
    $r[0])
          die(
    $errore); 
    edit: stavo scrivendo la mia correzione nel mentre che voi avete risposto, altrimenti non l'avrei fatto.. faccio +
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  10. #10
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non vorrei dire una cavolata, mi sembra di averlo letto tempo fa da qualche parte, ma a occhio e croce è meglio:

    codice:
    $sql = "SELECT COUNT(uncampodellatabella) WHERE nick = '{$nick}' OR $email = '{$email}'";
    piuttosto che count(*)


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.