sql >> Base de Datos >  >> RDS >> Mysql

Funciones obsoletas de MySql

Simplemente no tendrá sentido.
Un mero reemplazo mecánico no servirá de nada.

Debe comprender que no se trata de funciones antiguas en sí mismas, sino que se desaconsejan las formas antiguas de usarlas.

Por lo tanto, si desea mantener su código actual tal como está, solo consérvelo.
Un cuadro rojo en el manual no es eso aterrador, y la versión en la que estas funciones generarían un error de nivel obsoleto aún no está disponible.
Entonces, tiene 3-4 años por delante, antes de encontrar cualquier inconveniente. E incluso entonces, para desactivar los errores de nivel obsoleto es cuestión de una configuración de tiempo de ejecución.

Pero si desea escribir el mejor código, debe usar la forma OOP con PDO (y les puedo asegurar que OOP no es eso amedrentador. Aunque requiere algunos conocimientos al escribir, es muy fácil usar una clase preparada. La única diferencia con las funciones familiares es un poco -> cosa. No es gran cosa)

Entonces, aquí tienes:

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

uso:

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