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

    Problema con mysql_result

    Salve a tutti. Ho un problema in questo script:
    Codice PHP:
    include('../config.php');
    // Controllo di univocità: username unico //
    $query "SELECT username FROM users WHERE username = \"$username\"";
    $db mysql_connect($dbhost$dbuser$dbpass);
    mysql_select_db($database$db);
    $qresult mysql_query($query$db);
    $checkuser mysql_result($qresult0);
    if (
    $username != $checkuser) {
    // Registrazione nel DB //
        
    $passmd5 md5($password);
        
    $query "INSERT INTO users(username, password, email) VALUES (\"username\", \"$passmd5\", \"email\")";
        
    $qresult mysql_query($query$db)
            or die(
    "È accaduto un errore!");
        echo 
    "Registrazione effettuata";
    } else {
        echo 
    "<p align=\"center\">L'username inserito è già presente nei nostri Database. Siete pregati di inserirne uno diverso." $back;

    In poche parole questo codice dovrebbe controllare al momento della registrazione, se l'username da registrare è già presente nel database. In caso contrario effettua la registrazione. Ho però un problema con l'istruzione mysql_result() quando l'username NON è presente nel database, e quindi il risultato della query è vuoto. Come posso risolvere?

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Prova così

    Codice PHP:
    if ($checkuserm === FALSE) { 
    mysql_resul() da come output falso se non ha risultati. Prova se così va.

  3. #3
    Scusa forse avrei dovuto postare prima l'errore:
    codice:
    Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 4 in C:\xampp\htdocs\cont3000\includes\freg.php on line 23
    In poche parole l'errore sorge al momento dell'esecuzione dell'instruzione. Credo significhi che non riesce a individuare la riga 0 perchè il risultato della qwery è vuoto.

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    io farei cosi' :

    // query su db

    // se query restiusce >=1 => errore!!

    // senno fai il resto

    adesso mi ricontrollo la funz di controllo sql che hai usato che nn me la ricordo

    EDIT :

    in poche parole

    Codice PHP:


    $ris 
    mysql_query("select * from tabella where nome='".$nome."' ");

    if(  
    mysql_num_rows($ris)>0  )
    {
    echo 
    "ERRORE: nome già presente";
    }
    else
    {
    /*DB insert code*/;


  5. #5
    Grazie mille! mi è venuto in mente quando stavo leggendo il messaggio che hai modificato, che non ho bisogno di andare a controllare se l'username inserito nel form sia uguale a quello nel database. Infatti se la query trova un username, nel risultato ci sarà una riga altrimenti 0 righe. Devo lavorare su questa condizione.

    Grazie ancora

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Dato che non lo posso provare, ti è possibile dirmi se quello che ho scritto io funziona?
    Oppure restituisce il Warning e basta?

    Non ho mai usato mysql_result() in quel modo, sono curioso

  7. #7
    Quello che hai scritto tu non mi ha aiutato perchè l'errore sorgeva al momento dell'esecuzione dell'istruzione mysql_result che non trovava alcuna riga nel risultato dell query.

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Sono felice di essere stato di aiuto ciauz alla proxima.

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.