Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    100

    Select che restituisce dati che non ci sono?!

    Ciao a tutti.. ho un problema che mi sta facendo impazzire!!!

    ho il seguente codice :

    function connectdata($q,$op){
    //dati connessione
    include("./script/connectdata.php");
    //esegui connessione
    $db = mysql_connect($db_host, $db_user, $db_password) or die ("Errore nella connessione a MySQL");
    mysql_select_db($db_name , $db);
    switch ($op)
    {
    case "r":
    $risultati = mysql_query($q);
    if($risultati) {
    $returnresultset = mysql_fetch_array($risultati, MYSQL_ASSOC);
    $returnresultset['ok'] = true;
    }else{
    $returnresultset['ok'] = false;
    };
    mysql_free_result($risultati);
    case "iud":
    $returnresultset['ok'] = mysql_query($q);
    // case xxx
    // altri casi da inserire
    // .....
    }
    mysql_close($db);
    $returnresultset['motiv'] = "";
    return $returnresultset;
    }

    al quale passo la seguente select :
    $querytoexec = "SELECT * FROM sessioni WHERE sessid = '$idsessione';";
    $returnsession = connectdata($querytoexec,'r');

    Il dubbio è .... xkè se la tabella sessioni è vuota.. mi restituisce
    $returnresultset['ok'] = true;
    eseguendo il codice come se if($risultati) è vero!?!?!

    dove sbaglio???

    spero di essere stato chiaro.. ciao e grazie

  2. #2
    perche' mysql_query rende false solo in caso di errore. Zero result set non e' un errore.

    Se vuoi controllare se ci sono dati dovresti contare le righe disponibili nel result set.

    Codice PHP:
    $risultati mysql_query($q);
    if(
    mysql_num_rows($risultati) > 0) {
    $returnresultset mysql_fetch_array($risultatiMYSQL_ASSOC);
    $returnresultset['ok'] = true;
    }else{
    $returnresultset['ok'] = false;
    }; 
    se il risultato atteso "deve" essere 1 e solo 1, allora sostituisci > 0 con == 1

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    100
    si.. ieri poi a via di smanettare me ne sono accorto.... inoltre scordavo i break nello switch case ... Grazie comunque

    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    100

    Rieccomi nei guai con mysql_num_rows

    ciao a tutti.. abbiate pazienza..ma sto impazzendo...

    se interrogo il db e trova 1 solo risultato.. xkè mi deve dire che mysql_num_rows($risultati) è uguale a 0 ?!

    se non vi sono record..restituisce 0, se vi è 1 record restituisce 0 !!!

    ciao grazie...

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.