PHP – Dicas para migrar de mysql para mysqli

image_pdfimage_print

Infelizmente a migração do mysql para mysqli não é apenas adicionar o ‘i’ no nome da função. Existem diferenças.

Iremos neste breve artigo relatar superficialmente as principais diferenças e o que está igual apenas como uma forma de ajudar aqueles que precisam fazer a migração. Recomendamos o uso do PDO para conexão com banco de dados, mas cada um com sua preferência.

Iremos cobrir somente o modo procedural. Segundo nosso levantamento:

  • mysql_affected_rows => mysqli_affected_rows
  • mysql_error => mysqli_error
  • mysql_errno => mysqli_errno
  • mysql_data_seek => mysqli_data_seek
  • mysql_fetch_array => mysqli_fetch_array
  • mysql_fetch_row => mysqli_fetch_row
  • mysql_free_result => mysqli_free_result
  • mysql_num_fields => mysqli_num_fields
  • mysql_num_rows => mysqli_num_rows
  • mysql_select_db => mysqli_select_db
    • Argumentos mudaram de ordem
    • Nova assinatura da função
    • ( $link_connection_db, $database_name)
    • $link_connection_db passou a ser obrigatório
  • mysql_query => mysqli_query
    • Argumentos mudaram de ordem
    • Nova assinatura da função
    • ( $link_connection_db, $query)
    • $link_connection_db passou a ser obrigatório
  • mysql_connect => mysqli_connect
    • Nova assinatura da função
    • Possibilidade de escolher o banco de dados já na hora da conexão
    • A antiga assinatura permitia no $host colocar o ip + porta. Agora só pode colocar o endereço do host . Existe um campo para passar a porta.
    • Não existe mais a função para conexão permanente. A mesma pode ser obtida colocar “p:” antes da string do argumento $host

Espero que estas breve notas ajudem aqueles que precisem preparar seu código para rodar no PHP7, que já foi lançado.

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!