EspañolDeutschFrançaisItalianoPortuguêsРуÑÑкийΕλληνικά日本語中文(简体)हिनà¥à¤¦à¥€; हिंदीالعربية
既定ã®è¨€èªžã¨ã—ã¦è¨­å®šã—ã¾ã™ã€‚
PF ã®è³ªå• - フォーラム

〠10 我々 㯠PHP プログラマを作る MySQL ã«ã¤ã„ã¦é‡å¤§ãªãƒã‚°

ウェブ マスターや SEO  
 
〠10 我々 㯠PHP プログラマを作る MySQL ã«ã¤ã„ã¦é‡å¤§ãªãƒã‚°

ã¨ãã«ãƒ—ログラム PHP ã‚ãªãŸã®ã‚¢ãƒ—リケーションã«ã‚る特定ã®é–‹å§‹ã¨ 翼, 最も論ç†çš„ãªäº‹ãŒã§ã‚ãªãŸã‚’サãƒãƒ¼ãƒˆã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã“ã¨ã€ データベース管ç†ã‚·ã‚¹ãƒ†ãƒ  æ ¼ç´ãŠã‚ˆã³åŒã˜ã«é–¢ã™ã‚‹ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ã‚’æ“作ã™ã‚‹ã«ã¯. PHP ã®å ´åˆ, 大ãã„範囲ã«ä½¿ç”¨ã™ã‚‹ã‚·ã‚¹ãƒ†ãƒ ã¯ã€ã—ã¾ã™ã€‚ MySQL.

ãã‚Œã¯å®¹æ˜“ã§ã¯ãªã„ã§ã™ã€‚ 固体ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’構築ã—ã¾ã™ã€‚, 信頼性ã®é«˜ã„, que esté libre de inconsistencias y vulnerabilidades y que, ã—ãŸãŒã£ã¦, ã„ãšã‚Œã‹ã«åŸºã¥ã構造を有ã™ã‚‹ã€ 通常フォーム 最も一般的ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚. ãã‚Œã¯æ­£å¸¸ã§ã™ã®ã§ã€, como programadores en PHP, caigamos en alguno de los principales errores a la hora de trabajar con MySQL.

 

1. Usar MyISAM en lugar de InnoDB

MyISAM es el motor configurado 既定ã§ã¯ en la instalación de MySQL ã—ã‹ã—, a menos que aún tengas tu base de datos en desarrollo o tu proyecto sea bastante simple, ES ãŠå‹§ã‚ 使用ã—ã¦ã€ InnoDB. Éste admite トランザクション, esenciales para la integridad de los datos. ã•ã‚‰ã«, a la hora de insertar o actualizar un registro, solo bloquea a éste, y no a la tabla entera como hace MyISAM, teniendo un efecto positivo sobre el パフォーマンス, sobre todo en las escrituras.

 

2. No usar las funciones adecuadas para MySQL de PHP

PHP æä¾›ã—ã¾ã™ funciones específicas para la conexión y uso de MySQL. Funciones como mysql_connect, mysql_query, … Estas funciones resultaron mejoradas para versiones de PHP igual o superior a la 4.1.3, por lo que es aconsejable usar esta última, 呼ã³å‡ºã— MySQLi. Ésta presenta una serie de 利点 como una intefaz orientada a objetos, prevención de ataques de inyección de SQL mediante las preparedStatements, パフォーマンスをå‘上ã•ã›ã‚‹, ãªã©.

 

3. No sanear las entradas de usuario

ã«ã€ no sanear 〠entradas del usuario y usarlas para crear una sentencia SQL, la cual ejecutaremos sobre la base de datos, estamos dando lugar a una 脆弱性 permitiendo la inyección de código SQL en los campos desde los cuales tomamos dichos valores.

å ´åˆ, ã«ã‚ˆã£ã¦ 例, estamos manejando un login de usuario, y al obtener los datos del formulario los asignamos directamente de la siguiente forma:

Si en el campo å introdujéramos el valor admin’; –“ (引用符ãªã—), la cadena SQL resultante sería la siguiente:

Con lo que el usuario accedería 直接 sin introducir ã‚らゆる種類㮠パスワード, además de acceder como administrador, å ´åˆ ç®¡ç†è€… fuese el nombre de algún usuario administrador.

 

4. No usar la codificación UTF-8

Utilizar esta codificación evita muchos problemas 㮠internacionalización, ya que debemos tener en cuenta que nuestro sitio web no solamente será accedido desde nuestro propio país, sino desde países cuyos juegos de caracteres difieren mucho de los nuestros.

 

5. Hacerlo todo mediante PHP

Es habitual realizar toda la codificación mediante el lenguaje PHP, incluso aquellas funciones que resultarían mucho más rápidas si las realizara el propio gestor de bases de datos. ãŸã¨ãˆã°, utilizar un ループ en PHP para calcular un promedio, sumando todos los valores de un conjunto de registros, ãƒã‚¤ãƒ†ã‚£ãƒ–ã® MySQL 関数を使用ã™ã‚‹ä»£ã‚ã‚Šã«, AVG().

åŒã˜æ–¹æ³•ã§, エンコードã®å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ 内部プロシージャã¨é–¢æ•° 独自ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã§, パフォーマンスを優先 グローãƒãƒ«ãªè¦³ç‚¹æˆ‘々 ã®ã‚¢ãƒ—リケーション.

 

6. クエリを最é©åŒ–ã—ã¾ã›ã‚“。

〠99% PHP アプリケーションã®ãƒ‘フォーマンスã®å•é¡Œã¯ã€ã—ã¾ã™ã€‚ データベースã«ã‚ˆã£ã¦å¼•ãèµ·ã“ã•ã‚Œã‚‹. æ„è­˜ã—ãªã‘ã‚Œã°ã€å˜ç´”㪠ä¸é©åˆ‡ãªã‚¯ã‚¨ãƒª ãã‚Œã¯å¼•ãèµ·ã“ã™ã“ã¨ãŒã§ãる〠ボトルãƒãƒƒã‚¯ 当社㮠web サイトã«, 実行ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã§ã™ã®ã§ã€ 最é©åŒ– 相談 é‡ã„.

アプリケーションãŒã‚る㨠スクリプト サーãƒãƒ¼ã‚’確èªã—ã¦ã€ MySQL ãã—ã¦ã‚ãªãŸã‚’与ãˆã‚‹ ヒント para mejorar su rendimiento, åŒæ§˜ã€å½¼ã‚‰ã¯æœ€é©åŒ–ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™å¯èƒ½ãªã‚¯ã‚¨ãƒªãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚.

 

7. ä¸é©åˆ‡ãªãƒ‡ãƒ¼ã‚¿åž‹ã‚’使用ã—ã¾ã™ã€‚

MySQL セットをæä¾›ã—ã¾ã™ 様々 ãªãƒ‡ãƒ¼ã‚¿åž‹ (数値, ãƒã‚§ãƒ¼ãƒ³, 時間, 日付, …). ä¿å­˜ã—よã†ã¨ã—ã¦ã„ã‚‹å ´åˆã€ 日付, 型を使用ã—ã¾ã™ã€‚ ã‚ãªãŸã‚’与ãˆã‚‹ o DATETIME, 使用ã™ã‚‹ä»£ã‚ã‚Šã«ã€ æ•´æ•° o 文字列, 多ãを行ㆠ複雑ã§ã™ å”è­°.

よã, 作æˆã™ã‚‹é­…力的ã§ã™ãŒã€ 独自ã®ãƒ‡ãƒ¼ã‚¿åž‹ ã¨ã—ã¦ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ä¿ç®¡ シリアル化ã•ã‚ŒãŸ PHP オブジェクト. ãŸã ã—ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ç®¡ç†ãŒå®¹æ˜“ã«ãªã‚Šã¾ã™, ã‚ãªãŸ ã§ããªããªã‚Šã¾ã™ ç°¡å˜ã«å®Ÿè¡Œã—ã¾ã™ã€‚ 検索ã¨ã‚¯ã‚¨ãƒª æ ¼ç´ã•ã‚Œã¦ã„るデータã«ã¤ã„ã¦.

 

8. アスタリスクを使用ã—ã¾ã™ã€‚ (*) é¸æŠžã‚¯ã‚¨ãƒª

アスタリスクを使用ã™ã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。 今次å”è­°ã§ã¯ é¸æŠžã—ã¾ã™ã€‚, ãã‚ŒãŒãªã„é™ã‚Š 厳密㫠ã„ã‚‹. 本当ã«å¿…è¦ãªåˆ†é‡Žã®ç›¸è«‡ã‚’常ã«ã‚„ã‚ã†ã¨, los demás son recursos gastados 無駄ã«.

 

9. インデックスを設定ã—ãªã„ã¾ãŸã¯ sobre indexacion

通常, 〠インデックス é¸æŠžã‚¯ã‚¨ãƒªãŒãã®å ´æ‰€ã‚’実行ã™ã‚‹ä»»æ„ã®åˆ—ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚, å½¹ã«ç«‹ã¤ã“ã¨ã€ インデックスを作æˆã—ã¾ã™ã€‚ クエリã—ã¾ã™ã€‚ 多ãã®ãƒªã‚½ãƒ¼ã‚¹ã‚’消費ã—ã¾ã™ã€‚ 通常使用ã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã¨.

åŒã˜æ–¹æ³•ã§, 追加 å„列ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ ã‚ãªãŸã¯ãれを行ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ 秋ã®ãƒ‘フォーマンス 彼らãŒã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã‚µãƒ¼ãƒãƒ¼ å†ç”Ÿæˆ ãã‚Œãžã‚Œã®æŒ¿å…¥ã¾ãŸã¯ãƒ†ãƒ¼ãƒ–ルã®æ›´æ–°.

 

10. ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を忘れã¦ãã ã•ã„。

ä¿¡ã˜ã¦ã‚‚ä¿¡ã˜ãªãã¦ã‚‚, データベース 失敗ã—ã¾ã™ã€‚, ãƒãƒ¼ãƒ‰ ドライブã¾ãŸã¯ãã®ä»–ã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‚„ソフトウェアã ã‘ã§ãªãã€ã“ã¨ãŒã‚ã‚Šã¾ã™ã€ã‚µãƒ¼ãƒãƒ¼ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’ホストã—ã¦ã„ã¾ã™ã€‚. Web アプリケーションã«ã‚ã‚‹å ´åˆ é‡è¦æ€§, imagina el perder de golpe toda la información sobre el mismo.

ã“れをé¿ã‘ã‚‹ãŸã‚ã«, acostumbra a hacer copias de seguridad periódicas, ã¾ãŸã¯å˜ã«, prográmalas para que se realicen 自動的ã«.

 

Cómo puedes ver, estos son solo 10 de los principales errores que los programadores en PHP podemos o solemos cometer cuando trabajamos con el gestor de bases de datos MySQL. ãれを言ã†ã¾ã§ã‚‚ãªã„ã§ã™ã€‚, aparte de este, ã¨ã¦ã‚‚よã知られã¦ã„ã¾ã™ã€‚, sistema de bases de datos, ã‚ã‚Šã¾ã™ã€‚ otras soluciones åŒã˜ fiables y buenas, y que también pueden ser opción para cualquiera de los proyectos o aplicativos web que tengamos que desarrollar bajo PHP.

ç§é”ã«ã‚³ãƒ¡ãƒ³ãƒˆã‚’残ã™ã‹ã¸ã®å…¥åŠ›ã€ãƒ•ã‚©ãƒ¼ãƒ©ãƒ 
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

関連記事