sql >> Database >  >> RDS >> Mysql

Verouderde MySql-functies

Het heeft gewoon geen zin.
Een louter mechanische vervanging heeft geen zin.

Je moet begrijpen dat het niet de oude functies zelf zijn, maar oude manieren om ze te gebruiken worden afgeraden.

Dus als u uw huidige code wilt behouden zoals deze is, houdt u deze gewoon.
Een rood vak in de handleiding is dat niet eng, en de versie waarin deze functies daadwerkelijk een fout op het verouderde niveau zouden opleveren, is nog niet uit.
Dus je hebt 3-4 jaar voor de boeg, voordat je enig ongemak zult tegenkomen. En zelfs dan is het een kwestie van één runtime-instelling om fouten op verouderd niveau uit te schakelen.

Maar als je de betere code wilt schrijven, moet je de OOP-manier gebruiken met BOB (en ik kan je verzekeren dat OOP dat niet is bang maken. Hoewel het enige kennis vereist bij het schrijven, is het heel gemakkelijk om een ​​kant-en-klare les te gebruiken. Het enige verschil met bekende functies is een kleine -> ding. Geen probleem)

Dus, hier ga je:

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

gebruik:

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


  1. PARTITIE DOOR met en zonder KEEP in Oracle

  2. Hoe een MySQL-database te back-uppen / exporteren met PHP

  3. Hoe te controleren of een database bestaat in SQL Server?

  4. Hoe voeg ik een primaire sleutel toe aan een MySQL-tabel?