Programação  
 
Conhecimento computador >> Programação >> Programação PHP /MySQL >> 
PHP MySQL vs. MySQLi
O lançamento do PHP versão 5 inclui uma nova extensão para acessar bancos de dados MySQL chamado MySQL melhorada , ou MySQLi . MySQLi oferece melhor desempenho , uma estrutura orientada a objetos, suporte para instruções preparadas e funcionalidade adicional , na forma de operações de banco de dados. A extensão atual MySQL não será reforçada , por exemplo, para fornecer suporte unicode , e acabará por ser eliminados começando com PHP versão 6. Estrutura Orientada a Objetos

MySQLi fornece um conjunto de funções para uma estrutura de códigos de estilo de procedimento para fazer a transição do MySQL mais fácil. No entanto, também fornece a funcionalidade através de um conjunto de classes orientadas a objetos . Usando um estilo orientado a objetos pode fazer a integração do MySQL se encaixam melhor com a versão PHP 5 recursos orientados a objetos e, muitas vezes elimina a necessidade de criar variáveis ​​adicionais para apoiar as operações e tarefas do MySQL . Por exemplo, a seguir mostra o código para conectar a um servidor de banco de dados e abrir um banco de dados em MySQL e MySQLi tanto : MySQL : $ dbc = mysql_connect ( " usuário" "localhost" , "senha" ); $ db = mysql_select_database ( "banco de dados ");

mySQLi : $ db = new mysqli ( " usuário" "localhost", "password ", " banco de dados ");

instruções Preparadas

Talvez a maior diferença entre MySQL e MySQLi é o apoio do MySQLi para instruções preparadas . Com o MySQL , você tem que ter um cuidado especial para escapar cada corda usada em uma consulta para evitar ataques de injeção SQL . Com declarações MySQLi e preparados, você liga um conjunto de parâmetros para uma consulta e definir os parâmetros iguais para os diferentes valores que pretende utilizar na consulta. MySQLi cuida de garantir que todo o código está devidamente escapou antes de ser aplicada ao banco de dados . Por exemplo, o código a seguir insere dois recrods em uma tabela MySQL usando MySQLi : ?

$ Stmt = $ db- > prepare ( " INSERT INTO PESSOAS FullName , Email values ​​() (,) ; $ stmt -> bind_param ( "ss ", $ fullname , $ email ); $ fullname = " John Johnson "; $ email = " john@johnjohnson.com "; $ stmt -> execute () ; $ fullname = " Mary Johnson "; $ email = " mary@johnjohnson.com "; $ stmt -> execute () ; $ stmt - > close ();
Eficiência melhorias

Devido às declarações preparadas e outras melhorias de eficiência, a extensão MySQLi deve executar mais rápido do que as declarações do MySQL equivalentes. Como você pode ver no exemplo anterior, através de declarações preparadas , a sobrecarga de uma inserção só é necessária uma vez, quando é preparado o comunicado. com uma inserção MySQL equivalente , a sobrecarga da inserção seria repetido a cada consulta de inserção no banco de dados .

Transações

MySQLi fornece funcionalidade adicional na forma de transações. Com a extensão MySQLi , você pode agrupar um conjunto de operações de dados juntos em uma transação e executar as operações em conjunto como uma única transação. Se uma operação na transação falhar, toda a operação falha e qualquer mudanças que foram feitas são desfeitas . , por exemplo, você pode usar uma transação ao programar uma transferência de dinheiro entre duas contas , porque a menos que ambos os lados da operação bem-sucedida, a operação não é um sucesso, e você não quer sair de um estado em que uma conta foi debitado mas a outra conta não foi creditado.

Anterior :

Próximo : No
  Os artigos relacionados
·Get_headers Vs . Velocidade cURL em PHP 
·Cache PHP MySQL Query Results 
·Como criar XML para o Google Maps 
·Como redirecionar -mail para um Desk Programa PHP 
·Como se conectar a SQLite Com Mongoose 
·O que é o PHP Comando WordPress para Obter Mensagens r…
·Razões para PHP CSS Não Produzir corretamente 
·Como desativar consulta no MySQL Cache 
·MySQL Comma Erro 
·Como definir um cookie com PHP em Ajax 
  Artigos em destaque
·Tipos de multitarefa em Java Threads 
·Como criar um armazenamento de chaves em Java 
·Como Alternar divs com Javascript 
·Você pode anexar um PDF para um alvo exato no e-mail E…
·A diferença entre uma caixa de combinação e uma caix…
·Como escrever um script em Linux 
·Quais são as vantagens e desvantagens de projetos Grid…
·Como fazer Software Embarcado 
·Como Ler MATLAB 
·Como se livrar de error.jsp 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados