Mysql
 sql >> Database >  >> RDS >> Mysql

Funzioni MySql deprecate

Non avrà alcun senso.
Una semplice sostituzione meccanica non servirà a nulla.

Devi capire che non sono le vecchie funzioni in sé, ma i vecchi modi di usarle sono sconsigliati.

Quindi, se vuoi mantenere il tuo codice attuale così com'è, mantienilo.
Una casella rossa nel manuale non è quella spaventoso e la versione in cui sono effettivamente queste funzioni genererebbe un errore di livello deprecato non è ancora disponibile.
Quindi, hai 3-4 anni di anticipo, prima di incontrare qualsiasi inconveniente. E anche in questo caso, disattivare gli errori di livello deprecato è una questione di un'impostazione di runtime.

Ma se vuoi scrivere il codice migliore, devi usare il modo OOP con PDO (e posso assicurarti che OOP non è quello spaventare. Sebbene richieda una certa conoscenza durante la scrittura, è molto facile utilizzare una classe già pronta. L'unica differenza rispetto alle funzioni familiari è un piccolo -> cosa. Non è un grosso problema)

Quindi, ecco qua:

function db_connect_select() 
{
    $dsn = 'mysql:host='.MYSQL_HOSTNAME.';dbname='.DATABASE.';charset=utf8';
    $opt = array(
        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
    ); 
    return new PDO($dsn,USERNAME_SELECT, PASSWORD, $opt);
}

function db_result_to_array($query,) 
{
  // not needed with PDO
}

function select_top_tags()
{
    global $pdo;

    $query = 'SELECT * FROM top_tags ORDER BY tag_name ASC';
    $stm = $pdo->prepare($query);
    $stm->execute();
    return $stm->fetchAll();
}

utilizzo:

$pdo = db_connect_select(); // somewhere in a bootstrap file
$tags = select_top_tags();