sql >> Databáze >  >> RDS >> Mysql

Zastaralé funkce MySql

Prostě to nebude dávat smysl.
Pouhá mechanická výměna nepomůže.

Musíte pochopit, že to nejsou staré funkce samy o sobě, ale nedoporučujeme staré způsoby jejich používání.

Pokud si tedy chcete ponechat svůj aktuální kód tak, jak je, ponechte si jej.
Červené pole v příručce není to děsivé a verze, ve které tyto funkce ve skutečnosti jsou, by vyvolala chybu na zastaralé úrovni, ještě není venku.
Takže máte 3-4 roky dopředu, než se setkáte s jakoukoli nepříjemností. A i poté je vypnutí zastaralých chyb na úrovni záležitostí jednoho běhového nastavení.

Ale pokud chcete napsat lepší kód - musíte použít způsob OOP s PDO (a mohu vás ujistit, že OOP není to strašení. Ačkoli to vyžaduje určité znalosti při psaní, je velmi snadné použít hotovou třídu. Jediný rozdíl od známých funkcí je malý -> věc. Není to velký problém)

Takže, tady to 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();
}

použití:

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


  1. Jak převést html do pdf pomocí php?

  2. SQLite JSON_EACH()

  3. APACHE padá:Nadřazený:podřízený proces ukončen se stavem 3221225477 -- Restartování

  4. Jak fungují MIN() a MAX() na řetězcích CHAR/VARCHAR v MySQL?