• User Newbie

    Come verificare se un array è vuoto?

    Ciao a tutti,

    sono alle prime armi con php e vorrei una dritta da voi, ho creato una connessione ad un db che mi estrae una serie di dati, vorrei che in caso di mancanza di dati, cioè che la query risulti vuota, mi apparisse una scritta tipo

    "nessun record"

    lo so che si fa con un if ma il mio problema è che non riesco a capire come fare a verificare se la query è vuota.
    questo è il mio codice:

    [PHP]
    mysql_connect("localhost","root","");
    mysql_select_db("rubrica");
    $dati=mysql_query("
    SELECT nome
    FROM contatti
    WHERE citta = 'napoli'
    );
    if($dati['nome'] !="") {
    echo "ci sono dati" ;} else {
    echo "non ci sono dati";}

    se eseguo questa query ho sempre "non ci sono dati" anche se ci sono, sapete dirmi cosa sbaglio?

    [/PHP]

    grazie
    enzo


  • User Attivo

    Enzo, non te la prendere a male ma... devi studiare studiare *studiare, *partendo da qua: h t t p ://php.net/manual/en/ref.mysql.php (ti manca poi di chiudere la parentesi ma probabilmente è solo un errore di battitura)

    In particolare:

    • mysql_query ti restituisce un risultato, non i dati veri e propri
    • per accedere ai dati devi "scorrere" il risultato ritornato da mysql_query ad esempio con mysql_fetch_assoc
    • per sapere quante righe sono state ritornate dalla tua query (questa è la risposta alla tua domanda originale) usa mysql_num_rows sul risultato h t t p ://php.net/manual/en/function.mysql-num-rows.php
    • in ogni caso una volta che ti sei impratichito con le funzioni "native" di PHP per MySQL dimentica tutto 😉 e passa a MDB2 h t t p ://pear.php.net/package/MDB2/

    Spero di esserti stato d'aiuto, ciaoooo! 🙂


  • User Newbie

    Grazie per la risposta,

    lo so che devo studiare e ho dato un occhio alla funzione che mi hai detto ma potresti spiegarmela?

    Come la devo usare? Hai un esempio?


  • ModSenior

    Ciao apone,
    fai attenzione alle maiuscole...
    Per quanto riguarda il problema, trovi la documentazione ufficiale con moltissimi esempi di utilizzo qui: php.net/manual/en/function.mysql-num-rows.php