Visualizzazione risultati 1 fino 3 di 3

Discussione: Individuare un record aiutatemi.

  1. #1
    Guest

    Exclamation Individuare un record aiutatemi.

    Salve, vorrei individuare un record nel mio database, per individuarlo ci riesco ma il problema è che voglio scrivere anche un'altro campo del record.
    Questo è lo scipt che ho fatto:


    $post = $_POST;
    $ipcheeck = $post['ipcheeck'];
    $query = "SELECT * FROM banning WHERE ip='$ipcheeck'";
    $id = $query['id'];
    $res = mysql_query($query);

    if (mysql_num_rows($res) > 0)
    {
    echo "The IP $ipcheeck has beed detected in the bas list, with the ID: $id";}
    else {echo " The IP $ipcheeck hasn't beed detected in the bas list.";}
    mysql_close($connessione);
    ?>

    Ho il database più o meno strutturato così:

    campo: id (primary key)
    campo: ip (indice)

    Con questo script riesco a capire se il record ip sta nel database, ma il problema è che voglio che nella pagina che mi dice l'ip è stata trovata nel database mi scriva anche l'ID della IP. Ho messo "with the ID: $id" ma non sembra funzionare
    Autatemi se potete grazie.
    Ultima modifica di yieforum : 24-11-2005 alle ore 03.36.18

  2. #2
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    L'errore è qui, segnato in rosso:
    Citazione Originalmente inviato da yieforum
    $query = "SELECT * FROM banning WHERE ip='$ipcheeck'";
    $id = $query['id'];
    $res = mysql_query($query);
    Dunque la variabile $query non è altro che una semplice stringa, quindi chiedere ad una stringa l'elemento con chiave 'id' non ha senso ma è anche vero che non ti segnala errori perché una stringa è considerata un array di caratteri, quindi l'espressione $query['id'] da un lato gli piace.. ma è ovvio che non troverà quell'elemento (per capirci se fai $query[0] ti ritorna il carattere 'S' che è la prima lettera della query "SELECT...").
    Anche se non ti è chiara questa "divagazione" sulla stringa come array non ti preoccupare non è essenziale, era solo per farti capire perché non ti dava errore di sintassi. Continuiamo:
    Il valore del campo 'id' devi chiederlo al risultato della query eseguita, cioè $res, comodamente -e come di consueto- sotto forma di array, ovvero:

    $row = mysql_fetch_array($res);

    e subito dopo prendi il valore con:

    $id = $row['id'];

    Dunque la parte di codice corretto è:
    Codice PHP:
    $query = "SELECT * FROM banning WHERE ip='$ipcheeck'";
    $res = mysql_query($query);
    $row = mysql_fetch_array($res);
    $id = $row['id'];
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  3. #3
    Guest

    Predefinito Funziona

    Funziona, grazie mille

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •