Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Quando usar consultas preparadas por PDO. erro mysql_real_escape


Para resolver o erro que você está recebendo, mysql_real_escape_string() requer uma conexão aberta via mysql_connect() . Como você não tem um, ele está tentando se conectar e falhando (usando um nome de usuário de matthew , enquanto seu PDO está se conectando com root ). Além disso, você não pode (ou não deve ) misturar e combinar mysql_real_escape_string() e PDO - são bibliotecas diferentes.

Em relação a "quando" usar declarações preparadas, a regra geral é sempre que os valores não são codificados permanentemente. Seu exemplo de LIKE '%hotmail%' não precisa ser preparado, é codificado e nunca vai mudar (a menos que você o atualize manualmente, é claro).

Se você tiver uma consulta que receberá uma variável de qualquer tipo, seja dados de $_POST ou $_GET , ou uma variável que um desenvolvedor fez 10 linhas antes da consulta, você deve usar uma declaração preparada (ou pelo menos escapar dela, confira PDO::quote ).