
Quando os programas em PHP e o aplicativo começa a ter certas envergadura, a coisa mais lógica é que você precisa para apoiá-lo em um sistema de gerenciamento de banco de dados para armazenar e manipular todos os dados sobre o mesmo. No caso de PHP, o sistema usado em maior medida é MySQL.
Não é fácil construir uma sólida base de dados, confiável, que é livre de inconsistências e vulnerabilidades e, Por conseguinte, tem uma estrutura baseada em qualquer um do formas normais mais comumente usado. Por isso é normal que, como programadores PHP, cair em qualquer um do erros graves Ao trabalhar com MySQL.
1. Use em vez de InnoDB MyISAM
MyISAM é o motor configurado Por padrão na instalação de MySQL Mas, a menos que você ainda tem seu projeto ou seu banco de dados em desenvolvimento é bastante simples, ES aconselhável Use InnoDB. Esta admite transações, essencial para a integridade dos dados. Além disso, no momento de inserir ou atualizar um registro, somente blocos para isto, e não para o tabela inteira como faz MyISAM, tendo um efeito positivo sobre o desempenho, acima de tudo no Escrituras.
2. Não utilize as funções adequadas para o MySQL com PHP
PHP fornece funções específicas para a conexão e o uso de MySQL. Funções, como mysql_connect, mysql_query, … Essas funções foram melhorado para versões do PHP, maior ou igual à 4.1.3, por isso é aconselhável usar esta última, chamada MySQLi. Isto apresenta uma série de vantagens como uma interface orientada a objeto, prevenção de ataque prevenção de ataque preparedStatements, aumento de desempenho, etc.
3. Não limpar as entradas do usuário
Para o Não limpar o bilhetes o usuário e usá-los para criar uma instrução SQL, que executar no banco de dados, Estamos dando origem a um vulnerabilidade permitindo que o injeção de código SQL nos campos da qual tomamos esses valores.
Se, por exemplo de, Estamos a lidar com um login de usuário, e para obter os dados do formulário podemos atribuí-los diretamente da seguinte maneira:
1 2 3 4 | $nombre = $_POST['nombre']; $contrasena = $_POST['contrasena']; $SQL = "SELECT id FROM usuarios WHERE nombre = '".$nombre."' AND contrasena = '".$contrasena."'"; |
Se no campo nome Nós introduzimos o valor “Admin ’; –“ (sem aspas), a cadeia de SQL resultante deve ser o seguinte:
1 | $SQL = "SELECT id FROM usuarios WHERE nombre = 'admin'"; |
Com que o usuário estaria de acordo diretamente sem a introdução de qualquer tipo de senha, Além de aderir como administrador, Se Admin Era um nome de usuário do administrador.
4. Não usar a codificação UTF-8
Use essa codificação evita muitos problemas de internacionalização, Desde que nós devemos ter em mente que nosso web site não só que será acessado a partir de nosso país, Mas de países cujo caráter define Eles diferem grandemente Bons companheiros.
5. Fazê-lo todos utilizando PHP
É comum para executar qualquer codificação usando a linguagem PHP, até mesmo as funções que seriam muito mais rápido Se você torná-los o Gerente banco de dados. Por exemplo, usar um loop de PHP para calcular uma média, somando todos os valores de um conjunto de registros, em vez de usar a função nativa do MySQL, AVG().
Da mesma forma, Há a possibilidade de codificação funções e procedimentos internos no banco de dados próprio, favorecendo o desempenho nosso aplicativo em termos globais.
6. Não otimizar consultas
O 99% é um desempenho de aplicativo PHP problemas causada por banco de dados. Você tem que estar ciente que um simples Consulta ruim Pode causar um gargalo em nosso web site, Portanto, é aconselhável realizar um otimização consultas mais pesado.
Existem aplicações e scripts de você revisará seu servidor MySQL e vai te dar Dicas para melhorar o seu desempenho, assim como eles irão mostrar-lhe as possíveis consultas que devem ser otimizadas.
7. Usar tipos de dados incorretos
MySQL fornece um conjunto de tipos de dados variados (numéricos, Cadeia de, tempo, Data, …). Se você vai armazenar um Data, Use o tipo de DAR-LHE o DATETIME, em vez de usar um NÚMERO INTEIRO o SEQUÊNCIA DE CARACTERES, para fazer mais complicado as consultas.
Muitas vezes, é tentador para criar seu tipos de dados próprios e armazená-los no banco de dados como Objetos serializado de PHP. Embora a gestão do banco de dados será mais fácil, Você impedirá que realizar facilmente pesquisas e consultas sobre dados armazenados.
8. Use o asterisco (*) em consultas SELECT
Nunca usar o asterisco nas consultas SELECIONE, a menos que seja estritamente necessário. Tento sempre fazer uma consulta sobre os campos que você realmente precisa, outros são gastos recursos em vão.
9. Não indexação ou sobre-indexacion
Normalmente, o índices Eles se aplicam a qualquer coluna em que uma consulta SELECT irá realizar sua onde, por útil a criar índices para consultas que consomem mais recursos e aqueles que são normalmente usados.
Da mesma forma, a adicionar índices para cada coluna. Você pode fazer isso queda de desempenho Porque servidor ao qual devem ser regenerado para cada inserção ou atualização da tabela.
10. Esqueça sobre o backup
Acredite ou não, os bancos de dados falhar, bem como unidades de disco rígido ou qualquer outro hardware ou software que pode ter o servidor onde você tem hospedado seus bancos de dados. Se seu aplicativo da web tem certos importância, Imagine perder golpe todas as informações nele.
Para evitar isso, Costuma-se fazer backups regulares, ou simplesmente, programá-los que são realizadas automaticamente.
Como você pode ver, Estas são apenas 10 erros graves Desenvolvedores PHP podem ou tendem a cometer ao trabalhar com o Gerenciador de banco de dados MySQL. Escusado será dizer que, Para além deste, tão conhecidos, bancos de dados do sistema, Existem outras soluções O mesmo confiável e bom, e que eles também podem ser opção para qualquer um dos projectos ou aplicativos web que temos de desenvolver em PHP.
