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

    Estensione Mysqli da dove partire

    Salve a tutti,

    In una discussione di ieri mi è stato fatto notare che è meglio utilizzare l'estensione mysqli_ al posto della vecchia mysql_
    Ora mi sono messo in testa di provare ad usarla, solo che non riesco ben a capire.

    Se non ho capito male per usare Mysqli_ basta praticamente aggiungere la libreria alle estensioni (cosa che nei server linux ho letto è già implementato di default) e poi usare il mysqli tranquillamente

    Ora provando non mi funziona. Ho provato a fare una mysqli_connect(); per accedere al database, ma nulla. cercando su internet ho trovato anche che la dicitura

    $conn = @new mysqli($host,$user,$password,$db);

    Ovviamente con l'assegnazione dei valori.

    Provando a modificare diciamo un mysql_query() in mysqli_query() e ugualmente per il fetch_array() non vengono caricati dati?

    Siccome non sto capendo assolutamente nulla, se è una questione di inizializzazione, se le librerie non sono caricate, se sbaglio nell'uso di queste funzioni.


    googlando ho trovato anche la dicitura

    mysqli_result:fetch_array

    Però se ho capito è quella orientata ad oggetti

    In caso non avessi capito nulla mi date un modo per cominciare? una guida da leggere o anche un libro da studiare


  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Stai mischiando la versione ad oggetti con quella procedurale, se la connessione la fai con la versione ad oggetti (così come dice il codice che hai postato) devi poi usare la versione ad oggetti, quindi
    $conn->query(....);

    Da un'occhiata agli esempi riportati qui http://it2.php.net/mysqli_query
    c'è sia la versione OO che quella procedurale, dovrebbe chiarirti le idee.

  3. #3
    Ok ho notato ora che sul manuale da prima la versione ad oggetti e poi quella procedurale :P

    Perfetto quindi posso usare

    $conni= mysqli_connect($host,$user,$pass,$db);
    $query = "SELECT * FROM tabella";
    $result = mysqli_query($conni,$query);
    while($regione = mysqli_fetch_array($conni,$result)){
    }

    Giusto?

    e altra cosa siccome devo aggiornare un intero progetto in caso con varie mysql già create.
    Se momentaneamente uso sia il mysql_connect sia il mysqli_connect assegnati a 2 variabili diverse vanno in conflitto?
    Ultima modifica di alemix; 15-05-2014 a 12:22

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Non dovrebbero esserci problemi, specialmente se entrambe puntano allo stesso db, comunque cerca poi di uniformare il tutto, non lasciare un miscuglio di cose.

  5. #5
    Certo certo... era più che altro perchè faccio delle prove, se vedo che funziona poi parto con il metodo nuovo.

    Una cosa a livello di velocità tra la sequenziale ed a oggetti, c'è diversità? perchè ad essere sincero con la programmazione orientata ad oggetti sono un po carente

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Usa pure la versione procedurale se ti ci trovi meglio.

  7. #7
    Perfetto!

    Sono riuscito anche a capire cosa sbagliavo... in poche parole nel fetch_array devi mettere per forza MYSQLI_ASSOC MYSQLI_NUM MYSQLI_BOTH a seconda dei valori che vuoi... bene ora mi metto a modificare tutti i fetch e dovrebbe essere apposto

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.