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

Forældede MySql-funktioner

Det vil bare ikke give nogen mening.
En ren mekanisk udskiftning vil ikke nytte noget.

Du skal forstå, at det ikke er gamle funktioner i sig selv, men gamle måder at bruge dem på frarådes.

Så hvis du vil beholde din nuværende kode som den er - behold den bare.
En rød boks i manualen er ikke det skræmmende, og den version, som disse funktioner faktisk er i, ville give en fejl på forældet niveau, er ikke ude endnu.
Så du har 3-4 år forude, før du vil støde på ulejligheden. Og selv da er det et spørgsmål om én køretidsindstilling at slå fejl på forældet niveau fra.

Men hvis du vil skrive den bedre kode - skal du bruge OOP måde med PDO (og jeg kan forsikre dig om, at OOP ikke er det skræmmende. Selvom det kræver en vis viden, når du skriver, er det meget nemt at bruge en færdiglavet klasse. Den eneste forskel fra velkendte funktioner er en lille -> ting. Ikke en big deal)

Så her går du:

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

brug:

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


  1. Vis navne på alle begrænsninger for en tabel i Oracle SQL

  2. Hvordan ændres en PG-kolonne til NULLABLE TRUE?

  3. Er vi klar til Nordic PGDay?

  4. PostgreSQL:Forespørgsel har ingen destination for resultatdata