Mysql
 sql >> Base de données >  >> RDS >> Mysql

Fonctions MySql obsolètes

Cela n'aura aucun sens.
Un simple remplacement mécanique ne servira à rien.

Vous devez comprendre qu'il ne s'agit pas d'anciennes fonctions elles-mêmes, mais que les anciennes façons de les utiliser sont déconseillées.

Donc, si vous souhaitez conserver votre code actuel tel quel, conservez-le simplement.
Une case rouge dans le manuel n'est pas ça effrayant, et la version dans laquelle ces fonctions sont en fait générerait une erreur de niveau obsolète n'est pas encore sortie.
Donc, vous avez 3-4 ans devant vous, avant de rencontrer le moindre inconvénient. Et même dans ce cas, désactiver les erreurs de niveau obsolète est une question de paramètre d'exécution.

Mais si vous voulez écrire le meilleur code - vous devez utiliser la méthode OOP avec PDO (et je peux vous assurer que la POO n'est pas ça effrayant. Bien qu'il nécessite certaines connaissances lors de l'écriture, il est très facile d'utiliser une classe prête à l'emploi. La seule différence avec les fonctions familières est un petit -> chose. Ce n'est pas grave)

Alors voilà :

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();
}

utilisation :

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