Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Collegamento a DB in locale

    Ciao a tutti, è la prima volta che chiedo per un problema su questo forum, le altre volte sono sempre riuscito ad arrangiarmi con la funzione cerca, ma ieri sera non ho trovato soluzione.
    Il mio problema è il seguente:

    Ho questa struttura a db (per ora c'è solo una tabella):
    Tabella UTENTI: cognome;nome;cellulare;telcasa;tellavoro;mail;user ;password;ultimoaccesso;

    e volevo provare ad accedere alla tabella eseguendo la query SELECT * FROM utenti.

    Il mio codice PHP è il seguente:

    <?php
    // Il nome dell'host (hostname) su cui si trova MySQL
    $dbhost = "localhost";
    // Il nome del nostro database
    $dbname = "soccorso";
    // Il nostro nome utente (username)
    $dbuser = "root";
    // La nostra password
    $dbpass = "root";

    // Apertura connessione a DB
    $conn = mysql_connect($dbhost, $dbuser, $dbpass);
    if (!$conn) {
    die('Connessione fallita: ' . mysql_error());
    }
    // Collegamento al DB soccorso
    mysql_select_db("soccorso", $conn);

    // Esecuzione di una query
    $result = mysql_query("select * from utenti");
    echo $result;
    while($row = mysql_fetch_array($result)) {
    echo $row['cognome'];
    echo $row['nome'];
    echo "
    ";
    }

    // Chiusura connessione DB
    mysql_close($conn);
    ?>


    Quando eseguo la pagina, però mi appare il seguente Warning e non stampa niente del contenuto della tabella presente su DB:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /Applications/MAMP/htdocs/SoccorsoAlpinoPinerolo/index.php on line 80

    Mi sapete mica dare una mano? Ieri sera sono quasi impazzito per cercare di farlo funzionare.

    Grazie mille a tutti per le eventuali risposte.

  2. #2
    sembra che fallisca la query, prova a vedere se ti stampa qualche messaggio di errore di mysql:

    // Collegamento al DB soccorso
    $db_selected = mysql_select_db("soccorso", $conn);
    if (!$db_selected) {
    die ('Collegamento non riuscito : ' . mysql_error());
    }

    // Esecuzione di una query
    $result = mysql_query("select * from utenti") or die(mysql_error());

  3. #3
    L'unico messaggio di errore (se per così si può dire) è il warning che ho incollato prima.

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /Applications/MAMP/htdocs/SoccorsoAlpinoPinerolo/index.php on line 80

    Sembra quasi che esegue la query, ma non visualizza i risultati oppure che la query non trovi niente sul DB.

    Fatemi sapere.

  4. #4
    quando fai l'echo di $result ti scrive qualcosa tipo
    Resource id #
    e poi un numero?

    sul db ci sono dei record su quella tabella?
    magari la query non restituisce niente e quindi non te la considera una risorsa valida,
    puoi aggiungere il controllo sul numero di righe restituite dalla query
    mysql_num_rows()
    se è 0 non esegui il fetch_array e poi eventualmente stampare una frase tipo "nessun risultato",
    altrimenti fai il ciclo per la stampa dei risultati.

  5. #5
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Originariamente inviato da cecerbita
    quando fai l'echo di $result ti scrive qualcosa tipo
    Resource id #
    e poi un numero?

    sul db ci sono dei record su quella tabella?
    magari la query non restituisce niente e quindi non te la considera una risorsa valida,
    puoi aggiungere il controllo sul numero di righe restituite dalla query
    mysql_num_rows()
    se è 0 non esegui il fetch_array e poi eventualmente stampare una frase tipo "nessun risultato",
    altrimenti fai il ciclo per la stampa dei risultati.
    no, questo non centra niente, se torna vuoto il risultato della query la condizione while diventa subito falsa senza dare errori. Il problema è la query, sicuro che esista quella tabella in quel db???

  6. #6
    Sostituisci:

    Codice PHP:
    ...
    $result mysql_query("select * from utenti");
    ... 
    con:

    Codice PHP:
    ...
    $result mysql_query("select * from utenti") or die ("Errore: ".mysql_error());
    ... 
    e vedi cosa ti viene fuori.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    se non esistesse la tabella, e se ha aggiunto la stampa dell'errore sulla query
    $result = mysql_query("select * from utenti") or die(mysql_error());
    dovrebbe visualizzare l'errore mysql Table 'soccorso.utenti' doesn't exist

  8. #8
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    ma in quella query l'unico errore non può che essere il nome tabella ^_^

  9. #9
    Originariamente inviato da bstefano79
    ma in quella query l'unico errore non può che essere il nome tabella ^_^
    si sono d'accordo, infatti gli avevo suggerito di aggiungere la stampa dell'errore

  10. #10
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    non è che hai solo gli warning abilitati?

    prima di
    $conn = mysql_connect($dbhost, $dbuser, $dbpass);
    aggiungi l'istruzione
    error_reporting(E_ALL);

    P.S. nel caso fosse questo ti consiglio di cambiare l'error_reporting direttamente sul php.ini

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.