| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> PHP /MySQL Programmation >> Content
    PHP MySQL vs. MySQLi
    La sortie de la version PHP 5 inclus une nouvelle extension pour accéder aux bases de données MySQL appelé MySQL améliorée, ou MySQLi . MySQLi offre des performances améliorées , une structure orientée objet, support pour les instructions préparées et des fonctionnalités supplémentaires sous la forme de transactions de base de données . L'extension MySQL actuel ne sera pas renforcée , par exemple pour fournir le support Unicode , et finira par être éliminée en commençant par la version de PHP 6. Object-Oriented Structure

    MySQLi fournit un ensemble de fonctions pour une structure de code procédural de style pour faire la transition à partir de MySQL plus facile. Toutefois, il fournit également des fonctionnalités à travers un ensemble de classes orientées objet . Utiliser un style orienté objet peut faire de l'intégration de MySQL correspond mieux avec la version PHP 5 fonctionnalités orientées objet et élimine souvent la nécessité de créer des variables supplémentaires pour soutenir les opérations de MySQL et des tâches. Par exemple, le suivant illustre le code pour se connecter à un serveur de base de données et d'ouvrir une base de données MySQL et MySQLi : MySQL : DBC $ = mysql_connect (" localhost", " user", " password") ; $ db = mysql_select_database ( " base de données ");

    mySQLi : $ db = new mysqli ("localhost ", " user", " password", " base de données ");

    déclarations préparées

    peut-être la plus grande différence entre MySQL et MySQLi est le soutien de MySQLi pour les commandes préparées . Avec MySQL , vous devez prendre des précautions particulières pour échapper à toutes les chaînes utilisées dans une requête pour empêcher les attaques par injection SQL. Avec MySQLi et déclarations préparées , vous liez un ensemble de paramètres à une requête et définir les paramètres correspondant aux différentes valeurs que vous voulez utiliser dans la requête. MySQLi prend soin de faire en sorte que tout le code est correctement échappé avant d'être appliqué à la base de données. Par exemple, le code insère deux suivants recrods dans une table MySQL en utilisant MySQLi :

    $ stmt = $ db -> prepare ("INSERT INTO personnes ( 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 ();
    efficacité améliorations

    raison de déclarations préparées et d'autres améliorations de l'efficacité , l'extension MySQLi devraient fonctionner plus rapidement que les déclarations SQL équivalentes. Comme vous pouvez le voir dans l'exemple précédent en utilisant les requêtes préparées , la surcharge d'un insert n'est nécessaire une fois , lorsque l'instruction est préparée. avec un insert MySQL équivalent , les frais généraux de l'insert serait répété à chaque requête d'insertion à la base de données.
    Transactions

    MySQLi fournit des fonctionnalités supplémentaires sous la forme de transactions. Grâce à l'extension mysqli , vous pouvez regrouper un ensemble d'opérations de données ensemble dans une transaction et d'exécuter les opérations comme une seule transaction. Si une opération dans la transaction échoue, l' ensemble de l'opération échoue et tout modifications qui ont été apportées sont annulées . Par exemple , vous pourriez utiliser une transaction lors de la programmation d'un transfert d'argent entre deux comptes , parce que si les deux côtés de l'opération réussit, l'opération n'est pas un succès, et vous ne voulez pas quitter un état où un compte a été débité , mais l'autre compte n'a pas été crédité .

    Previous :

    next :
      articles connexes
    ·Comment construire des requêtes en PHP 
    ·Comment faire pivoter MySQL log des requêtes lentes 
    ·Comment placer code de redirection sur PHP 
    ·Définition de Php 
    ·Comment faire pour convertir Varchar flotter dans MySQL…
    ·Comment faire pour mettre une requête dans MySQL et DB…
    ·Comment graphique en PHP 
    ·Comment charger dynamiquement des classes en PHP 
    ·Comment analyser les résultats Google avec PHP 
    ·Comment obtenir la valeur d'exécution d'une zone de li…
      articles en vedette
    ·Pourquoi ne sont pas tous les sites corrigés contre le…
    ·Comment faire une chaîne en un tableau de caractères …
    ·Comment obtenir Python pour obtenir une sortie image 
    ·Comment faire pour démarrer une applet Java avec la pl…
    ·Comment: Méthode pour cible pylône 
    ·Comment convertir le temps standard en heure décimale …
    ·Comment inclure JavaScript Entre Vb.NET 
    ·Comment apprendre le langage SQL et PL /SQL 
    ·Comment ancrer un DIV au bas d'une page 
    ·Comment lire un fichier avec Java 
    Copyright © Connaissances Informatiques http://fr.wingwit.com