Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Funções de MySQL obsoletas


Não fará sentido.
Uma mera substituição mecânica não adiantará.

Você precisa entender que não são funções antigas em si, mas as formas antigas de usá-las são desencorajadas.

Portanto, se você quiser manter seu código atual como está - apenas mantenha-o.
Uma caixa vermelha no manual não é isso assustador, e a versão em que essas funções estão realmente geraria um erro de nível obsoleto ainda não saiu.
Então, você tem 3-4 anos pela frente, antes de encontrar qualquer inconveniente. E mesmo assim, desativar os erros de nível obsoleto é uma questão de uma configuração de tempo de execução.

Mas se você quiser escrever o código melhor - você deve usar o modo OOP com PDO (e posso garantir que OOP não é isso assustador. Embora exija algum conhecimento na hora de escrever, é muito fácil usar uma aula pronta. A única diferença das funções familiares é um pouco -> coisa. Não é grande coisa)

Então, aqui vai:
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();