Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494

    Warning: mysql_result(): Unable to jump to row 0

    Buonasera!

    Come da titolo questo warning si trova in due funzioni:

    Errore:

    codice:
    Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 13 in /web/htdocs/www.digital-lab.eu/home/siciligiene/include/utils.lib.php on line 22 Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 14 in /web/htdocs/www.digital-lab.eu/home/siciligiene/include/license.lib.php on line 48 Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 16 in /web/htdocs/www.digital-lab.eu/home/siciligiene/include/utils.lib.php on line 22 Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 17 in /web/htdocs/www.digital-lab.eu/home/siciligiene/include/license.lib.php on line 48
    utils.lib.php Funzione user_get_id($user):

    Codice PHP:
    function user_get_id($user){
        return 
    mysql_result(mysql_query("
        SELECT id
        FROM utenti
        WHERE username='"
    .$user['username']."' and password='".$user['password']."'
        "
    ), 0'id');

    Linea 22:
    Codice PHP:
        "), 0, 'id'); 
    license.lib.php Funzione license_user_get_perms($id):

    Codice PHP:
    function license_user_get_perms($id){
        return 
    intval(mysql_result(mysql_query("
        SELECT permessi
        FROM utenti
        WHERE id = '"
    .$id."'
        "
    ), ,'permessi'));

    Linea 48:
    Codice PHP:
        "), 0 ,'permessi')); 
    Dove sbaglio?

    Dimenticavo è uno script di login e permessi (guida di html.it) se effettuo il login il warning sparisce!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    verosimilmente la query restituisce semplicemente un set vuoto di risultati e quindi non c'è alcuna "riga 0" (che è la prima) se non sei loggato

  3. #3
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    E quindi? per togliere il warning?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    prima della chiamata a user_get_id che genera il warning stampa a video la variabile passata come parametro $user (probabilmente è vuota nel caso non ci sia loggati, ma non so com'è gestita... se uno è loggato dovrebbe essere un array invece)... a questo punto verifica com'è settata per gli utenti non loggati... supponendo (ma è solo una suppozione) che in quel caso non sia un array, dovresti racchiudere la chiamata in un if, tipo:

    Codice PHP:
    if (!is_array($user)) {
       ...
       ...
    user_get_id($user)...
       ...

    e così per l'altra casistica

    In generale queste funzioni devono essere chiamate solo - appunto - se l'utente è loggato... una soluzione "tampone" è invece anteporre il carattere "@" prima delle chiamate che generano il warning

  5. #5
    Utente di HTML.it L'avatar di lukezz
    Registrato dal
    Feb 2010
    Messaggi
    494
    In questo caso dove dovrei metterla @?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.