Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Trasferimento da ASP a PHP

    Buongiorno ragazzi,
    vorrei iniziare a convertire il mio sito da .asp a .php.

    Sto facendo dei tentativi di connessione in locale ma non riesco ad estrarre i dati... dove sbaglio?

    codice:
    <?php
    $mysqli = new mysqli('localhost', 'root', 'root', 'Lavoro');
    		if ($mysqli->connect_error) {
        		die('Errore di connessione (' . $mysqli->connect_errno . ') '
                . $mysqli->connect_error);
    		} else {
    			echo 'Connesso. ' . $mysqli->host_info . "\n";
    		}    
    
    
    $query = $mysqli->query("SELECT * FROM clienti WHERE 21cmp = 'xxx' and 20cmp = 'xxx'");
    if($query->num_rows) {
        echo "Cliente trovato";
    } else {
        echo "Cliente non trovato";
    }
    
    echo $value["20cmp"];
    in asp dopo aver interpellato il database avrei estratto tutto con

    codice:
     <%=query("20cmp")%>
    ma adesso??? come si fa???
    Scambio link

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,263
    devi usare (per esempio) mysqli fetch array

  3. #3
    Nel tuo caso questo codice dovrebbe andare:
    while($dati_clienti = $query->fetch_array()){
    //Stampi i dati come ad esempio
    echo $dati_clienti[0]."<br/>";
    }

    In php ti consiglio anche spesso di usare un bel var_dump($variabile) molto utile per oggetti e array

  4. #4
    Grazie per l'aiuto!!
    Per estrarre invece più record da una sola query con un ciclo? avete qualche semplice esempio?
    Scambio link

  5. #5
    Puoi fare una query tipo

    $query
    = $mysqli->query("SELECT * FROM clienti"); //Estrae tutti i clienti

    while($dati_clienti = $query->fetch_array()){
    //Stampi i dati come ad esempio
    echo $dati_clienti[0]."<br/>";
    }

    se non ho capito male cerchi un esempio come quello appena proposto

  6. #6
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,738
    Visto che stai imparando, io ti consiglierei di usare direttamente PDO per accedere al database. Fra le altre cose, è un metodo molto più sicuro perché i parametri della query non sono scritti hardcoded nella query, ma sono inseriti e filtrati dalle stesse funzioni di PDO.

    Farlo a mano può essere un po' noioso comunque... io uso qualcosa del genere come libreria, e mi appoggio alle funzioni read_db e write_db ogni volta che ho bisogno di fare una query. La funzione read_db restituisce direttamente l'array con i risultati.

    https://gist.github.com/ToX82/c8286b...5855322c96b3d1

    Nel tuo caso, quindi

    Codice PHP:
    $values read_db("SELECT * FROM clienti WHERE 21cmp = :21cmp AND 20cmp = :20cmp", [
       
    '21cmp' => 'xxx',
        
    '20cmp' => 'xxx'
    ]);
    print_r($values); 
    Ultima modifica di lnessuno; 20-08-2017 a 11:00

  7. #7
    Perfetto grazie era proprio quello che intendevo!!

    Quote Originariamente inviata da SkyBlue Visualizza il messaggio
    Puoi fare una query tipo

    $query
    = $mysqli->query("SELECT * FROM clienti"); //Estrae tutti i clienti

    while($dati_clienti = $query->fetch_array()){
    //Stampi i dati come ad esempio
    echo $dati_clienti[0]."<br/>";
    }

    se non ho capito male cerchi un esempio come quello appena proposto
    Scambio link

  8. #8
    Grazie del consiglio!!
    sono proprio ai primi passi... gli do un occhio e cerco di capirci qualcosa
    Grazie 1000
    Quote Originariamente inviata da lnessuno Visualizza il messaggio
    Visto che stai imparando, io ti consiglierei di usare direttamente PDO per accedere al database. Fra le altre cose, è un metodo molto più sicuro perché i parametri della query non sono scritti hardcoded nella query, ma sono inseriti e filtrati dalle stesse funzioni di PDO.

    Farlo a mano può essere un po' noioso comunque... io uso qualcosa del genere come libreria, e mi appoggio alle funzioni read_db e write_db ogni volta che ho bisogno di fare una query. La funzione read_db restituisce direttamente l'array con i risultati.

    https://gist.github.com/ToX82/c8286b...5855322c96b3d1

    Nel tuo caso, quindi

    Codice PHP:
    $values read_db("SELECT * FROM clienti WHERE 21cmp = :21cmp AND 20cmp = :20cmp", [
       
    '21cmp' => 'xxx',
        
    '20cmp' => 'xxx'
    ]);
    print_r($values); 
    Scambio link

  9. #9
    eccomi ancora qui...
    piano piano ci sto lavorando e qualcosa esce fuori...

    vorrei recuperare una variabile da "querystring" ed ho provato ad impostare la cosa come segue:

    codice:
    <?php
    $idcliente = $_GET['cliente'];
    //$estraicliente = $mysqli->query("SELECT * FROM clienti WHERE 1cmp = '$idcliente'");
    $estraicliente = "SELECT * FROM clienti WHERE 1cmp = '$idcliente'";
    ?>
    ma non funziona...

    riuscite ad aiutarmi?
    Scambio link

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,263
    La documentazione ti avrebbe aiutato già tanti giorni fa...

    Apparte che con la quei commentata hai solo definito una variabile.

    Che vuol dire non funziona, hai un Exception error? Funziona ma non ritorna il valore che ti aspetti?

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 © 2020 vBulletin Solutions, Inc. All rights reserved.