Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    10

    Controllo If Else bizzarro

    Ciao a tutti,

    sto diventando scemo a capire perché non riesco a fare una cosa semplice:


    Codice PHP:
    include("./config.php");
    include(
    "./db.php");

        
    $get_user mysql_real_escape_string($_GET['user']);  // GET USER
        

                
    $sql_api "SELECT * FROM tb_users WHERE usr_username = '$get_user'" or die (mysql_error());
                
    $query_api mysql_query($sql_api);
                
    $res_api mysql_fetch_assoc($query_api) or die (mysql_error());
                    
                
    $usr_stato $res_api['usr_stato'];
                
    $usr_username $res_api['usr_username'];
                
                
                if(
    mysql_num_rows($query_api) > 0
                {
                echo 
    $usr_stato"<br>";
                } else {
                echo 
    "2";
                }
    mysql_close(); 

    Lanciando da web la pagina prova.php?user=test

    se l'user viene trovato mi piglia i dati dal db e tutto va bene.
    se non trova l'user vorresi stampare con echo il valore 2 ma non va e non mi da neanche
    errore.

    Dove sbaglio?

    Saluti Sbarboff

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Prima di tutto io riscriverei completamente il codice perché è un vero obbrobrio, non c'è un controllo che sia uno, fai fetch su cose che non sai se hanno prodotto un risultato, verifichi se una query ha recuperato dei dati dopo averne fatto il fetch... insomma, non si può proprio guardare ciò che hai scritto.

    Altra cosa, usa mysqli_ o PDO perché le funzioni mysql_ sono deprecate (non funzionano più sulle nuove versioni di PHP)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    10
    ok provo subito

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    10
    Quote Originariamente inviata da sbarboff Visualizza il messaggio
    ok provo subito


    Niete non ci sono riuscito ;(

    qualcuno mi da gentilmente una mano!

    Saluti Sbarboff

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    10
    Codice PHP:
    error_reporting(E_ALL);
    ini_set("display_errors"1);
    include(
    "./config.php");
    include(
    "./db.php");



        
    $get_user mysqli_real_escape_string($conn,$_GET['user']);
        

                
    $sql_api "SELECT * FROM tb_users WHERE usr_username = '$get_user'" or die (mysqli_error($conn));
                
                
    $query_api mysqli_query($conn,$sql_api) or die (mysqli_error($conn));
              
                 
    $num_rows mysqli_num_rows($query_api);

                
    $res_api mysqli_fetch_assoc($query_api) or die (mysqli_error($conn));
                
                
                
                    
                
                    if (
    $num_rows 0){
                        echo 
    $res_api['usr_stato']. "<br>";
                    } else {
                        echo 
    "2";
                    } 
    Ho provato cosi ma non mi da nessun errore e non visualizza ( 2 ) in caso che l'user non esiste.

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    adattalo al tuo ambiente e vedi se funziona

    Codice PHP:
    <?php


    if(isset($_GET['user']) && trim($_GET['user']) != "") {
        
    $con mysqli_connect('server''password') or die ("Impossibile connettersi al server: " mysqli_error($con));
        
    mysqli_select_db($con'tabella') or die ('Impossibile trovare il DB: ' mysqli_error($con));


        
    $get_user mysqli_escape_string($con$_GET['user']);


        
    $sql_api "SELECT * FROM utenti WHERE username = '$get_user'";
        
    $ex_sql_api mysqli_query($con$sql_api) or die ('Impossibile eseguire la query: ' mysqli_error($con));


        if (
    mysqli_num_rows($ex_sql_api) == 1) {
            
    $result mysqli_fetch_array($ex_sql_api);
            echo 
    $result['userstato'];
        }
        else echo 
    "2";
    }
    else die();
    ?>

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,359
    E se fai un print $num_rows; cosa dà ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    10
    Quote Originariamente inviata da clasku Visualizza il messaggio
    adattalo al tuo ambiente e vedi se funziona

    Codice PHP:
    <?php


    if(isset($_GET['user']) && trim($_GET['user']) != "") {
        
    $con mysqli_connect('server''password') or die ("Impossibile connettersi al server: " mysqli_error($con));
        
    mysqli_select_db($con'tabella') or die ('Impossibile trovare il DB: ' mysqli_error($con));


        
    $get_user mysqli_escape_string($con$_GET['user']);


        
    $sql_api "SELECT * FROM utenti WHERE username = '$get_user'";
        
    $ex_sql_api mysqli_query($con$sql_api) or die ('Impossibile eseguire la query: ' mysqli_error($con));


        if (
    mysqli_num_rows($ex_sql_api) == 1) {
            
    $result mysqli_fetch_array($ex_sql_api);
            echo 
    $result['userstato'];
        }
        else echo 
    "2";
    }
    else die();
    ?>
    Adattato alle mie esigenze ora funziona.

    Grazie


    Sbarboff

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.