EspañolDeutschFrançaisItalianoPortuguêsРусскийΕλληνικά日本語中文(简体)हिन्दी; हिंदीالعربية
Defini comme langue par défaut
Questions de PF - Forum

Le 10 bogues majeurs sur MySQL que nous fabriquons les programmeurs PHP

Webmasters et référencement  
 
Le 10 bogues majeurs sur MySQL que nous fabriquons les programmeurs PHP

Lorsque des programmes en PHP et votre application commence à avoir certaines envergure, la chose la plus logique est que vous avez besoin pour vous soutenir dans une système de gestion de base de données pour stocker et manipuler toutes les données concernant le même. Dans le cas de PHP, le système utilisé pour une plus grande mesure est MySQL.

Il n’est pas facile construire une solide base de données, fiable, qui est exempt d’incohérences et de vulnérabilités et que, C’est pourquoi, ont une structure fondée sur l’un de la formes normales le plus couramment utilisé. Il est donc normal que, comme les programmeurs PHP, tomber dans un de la principales erreurs Lorsque vous travaillez avec MySQL.

 

1. Utilisez au lieu de InnoDB MyISAM

MyISAM est le moteur configuré par défaut dans l’installation de MySQL mais, sauf si vous avez encore votre projet ou votre base de données en développement est assez simple, ES conseillé utilisation InnoDB. Il admet transactions, essentiel à l’intégrité des données. De plus,, au moment de l’insertion ou de mise à jour un enregistrement, Seuls les blocs à cette, et pas à la table entière comme il le fait MyISAM, avoir un effet positif sur la performances, surtout dans le Ecritures.

 

2. Ne pas utiliser les fonctions appropriées pour MySQL avec PHP

PHP fournit fonctions spécifiques pour le raccordement et l’utilisation de MySQL. Les fonctions telles que mysql_connect, mysql_query, … Ces fonctions ont été améliorée pour les versions de PHP est supérieure ou égale à la 4.1.3, Il est donc conseillé d’utiliser ce dernier, appel MySQLi. Cela pose une série de avantages en tant qu’interface orienté-objet, prévention des attaques injection SQL à l’aide de la preparedStatements, augmentation des performances, etc..

 

3. Ne jamais assainir les entrées de l’utilisateur

À la aucun nettoyage le Billets de l’utilisateur et les utiliser pour créer une instruction SQL, qui exécute la base de données, Nous sommes donnant lieu à une vulnérabilité ce qui permet la injection de code SQL dans les champs d'où nous prenons ces valeurs.

If, par exemple de, Nous traitons une connexion de l’utilisateur, pour obtenir les données du formulaire nous affecter directement de la manière suivante:

If dans le domaine nom Nous introduisons la valeur “Admin ’; –“ (sans les guillemets), la chaîne SQL qui en résulte serait la suivante:

Avec ce que l’utilisateur suis d’accord directement sans introduire de tout type de mot de passe, En plus d’adhérer en tant qu’administrateur, If Admin C’était un nom d’utilisateur administrateur.

 

4. N’utilisez pas le codage UTF-8

Utilisez cet encodage permet d’éviter beaucoup de problèmes de internationalisation, Étant donné que nous devons garder à l’esprit que notre web site, non seulement il sera accessible de notre propre pays, mais des pays dont le caractère fixe ils diffèrent considérablement Affranchis.

 

5. Faites tout cela en utilisant PHP

Il est fréquent d’effectuer n’importe quel encodage en utilisant le langage PHP, même les fonctions qui seraient beaucoup plus vite Si vous leur faire la Gestionnaire base de données. Par exemple, utiliser un boucle PHP pour calculer un moyenne, additionne toutes les valeurs d’un jeu d’enregistrements, au lieu d’utiliser la fonction native de MySQL, AVG().

De la même manière, Il est possible de coder fonctions et procédures internes dans la base de données propre, favorisant les performances notre application à l’échelle mondiale.

 

6. Ne pas optimiser les requêtes

Le 99% est une performance d’application PHP des problèmes causée par la base de données. Vous devez être conscient qu’un simple Mauvaise requête Il peut causer une goulot d’étranglement sur notre site web, Il est donc conseillé d’effectuer un optimisation consultations plus lourd.

Il existe des applications et scripts vous examinera votre serveur MySQL et vous donnera Conseils pour améliorer vos performances, comme ils vous montreront les requêtes possibles qui doivent être optimisés.

 

7. Utiliser des types de données incorrects

MySQL fournit un ensemble de types de données variés (numérique, chaîne, temps, Date, …). Si vous allez stocker un Date, Utilisez le type VOUS DONNER o DATETIME, au lieu d’utiliser un NOMBRE ENTIER o CHAÎNE, en faire plus compliqué les consultations.

Souvent, est tentant de créer votre types de données propres et les stocker dans la base de données PHP sérialisé objets. Bien que la gestion de la base de données sera plus facile, vous permettra d'éviter effectuer facilement recherches et requêtes sur les données stockées.

 

8. Utilisez l’astérisque (*) dans les requêtes SELECT

Ne jamais utiliser l’astérisque lors des consultations SÉLECTIONNEZ, sauf s’il est strictement nécessaire. Essayez de toujours faire une consultation sur les champs que vous avez vraiment besoin, les autres sont des ressources dépensées en vain.

 

9. N’indexez ne pas ou sobre-indexacion

Normalement, le index elles s’appliquent à n’importe quelle colonne sur laquelle une requête SELECT exécutera ses où, par utile la créer des index pour les requêtes qui consomment plus de ressources et ceux qui sont normalement utilisés.

De la même manière, l’Add index des noms de chaque colonne Vous pouvez le faire performance de l’automne parce que serveur auquel ils doivent être régénéré chaque insertion ou mise à jour de la table.

 

10. Oublier de sauvegarde

Croyez-le ou non, les bases de données en cas d’échec, ainsi que les disques durs ou tout autre matériel ou logiciel, qui peut avoir le serveur où vous avez organisé vos bases de données. Si votre application web a certains importance, Imaginez perdre coup toutes les informations à ce sujet.

Pour éviter ce problème, Il est d’usage d’effectuer des sauvegardes régulières, ou tout simplement, les répartit qui sont effectuées automatiquement.

 

Comment pouvez-vous voir, Ce sont juste 10 principales erreurs Les développeurs PHP peuvent ou ont tendance à s’engager lorsque vous travaillez avec le gestionnaire de base de données MySQL. Inutile de dire que, En dehors de cela, tellement connue, bases de données système, Il y a autres solutions De même fiables et de bonne, et qu’elles peuvent être également option pour les projets ou les applications web que nous avons à développer en PHP.

Laissez-nous un commentaire ou d’entrer à laForum
Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page

Articles connexes