Visualizzazione risultati 1 fino 10 di 10

Discussione: Mysql - Mysqli - PDO

  1. #1
    Guest

    Predefinito Mysql - Mysqli - PDO

    Io ho sempre usato il comando mysql_ per interagire con phpmyadmin...
    Ho visto però che questo comando verrà tolto ed è vivamente consigliato l'utilizzo di mysqli o PDO.
    Ho provato a guardare molto guide, però non riesco a capire come funziona mysqli, il quale pare avere i comandi identici a mysql, e tantomeno PDO.
    Volevo sapere se qualcuno di voi può elencarmi i comandi corrispondenti a mysql più utilizzati(sia mysqli che PDO), ad esempio:
    mysql_query
    mysql_real_escape_string
    mysql_fetch_array
    mysql_num_rows
    ecc...

    Se potete, inoltre, per ciascuno dirmi il corretto uso e tutto ciò che sapete a riguardo :P
    Grazie!

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,323

    Predefinito

    mysql_query -> mysqli_query
    mysql_real_escape_string -> mysqli_real_escape_string
    mysql_fetch_array -> mysqli_fetch_array
    mysql_num_rows -> mysqli_num_rows

    Con PDO non sono così identiche, e se non erro non c'é la versione procedurale, ma solo ad oggetti. Ad esempio, nei metodi query o fetch ci sono degli esempi che ti dovrebbero far capir bene come funziona.

    Ciao!
    Ultima modifica di alemoppo : 05-11-2014 alle ore 23.03.04

  3. #3
    Guest

    Predefinito

    Eh ma quelle guide non riesco a capirle...
    Ad esempio ho letto che si usa qualcosa del tipo:
    $mysql = mysqli_query(..)

    $mysql -> query(..)

    ma anche che si può mettere solo
    mysqli_query(...)

    La freccia non capisco a cosa serve.

  4. #4
    Guest

    Predefinito

    occorrerebbe una trattazione della programmazione orientata agli oggetti

    in pillole:
    troverai due operatori
    'freccia' -> ti da accesso ai membri di un oggetto
    :: che ti da accesso alle proprieta'/costanti/metodi statici di una classe

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,323

    Predefinito

    Puoi benissimo utilizzare le versioni procedurali ignorando quelle ad oggetti, proprio come usavi le mysql_*

    Ciao!

  6. #6
    Guest

    Predefinito

    sul sito php.net che mi hai linkato alemoppo, ad esempio per mysql_real_escape_string, leggo che bisogna usare

    Codice PHP:
    string mysqli_real_escape_string ( mysqli $link , string $escapestr )
    devo scriverci "string" davanti? immagino di no :P
    e "mysqli" dopo la prima parentesi?
    e $link che cosa è?
    e "string" dopo la virgola?

    Ed un'altra cosa, come faccio a togliere la visualizzazione dei warning?
    Ultima modifica di competenzepertutti : 14-11-2014 alle ore 14.29.44

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,323

    Predefinito

    Qui c'é un esempio.

    Il primo string significa che la funzione ritorna una stringa. mysqli $link significa che accetta un parametro di tipo "mysqli", che sarebbe il link alla connessione al database, mentre string dopo la virgola significa che accetta una stringa (ovvero quella che devi passare).

    Anche per la mysql_real_escape_string() la sintassi di "spiegazione" è la stessa, ed è la stessa per tutte le funzioni.

    Comunque vedi l'esempio: dovrebbe essere semplice.

    Per i warning, puoi nasconderli tramite la error_reporting() anche se, se c'é un errore ci sarà un motivo e quindi dovresti correggerlo.

    Ciao!
    Ultima modifica di alemoppo : 14-11-2014 alle ore 15.24.09

  8. #8
    Guest

    Predefinito

    Ah ok quindi devo dargli sempre la connessione, e di conseguenza devo scrivere:
    Codice PHP:
    $con=mysqli_connect("localhost","my_user","my_password","my_db");

    // Check connection
    if (mysqli_connect_errno()) {
    echo
    "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    su tutte le pagine, non posso fare un include.

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,323

    Predefinito

    L'include equivale a scrivere il codice della pagina, quindi puoi benissimo includere quel codice ed usare comunque la variabile di connessione $con.

    Ciao!

  10. #10
    Guest

    Predefinito

    Ah ok
    Grazie! :)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •