sql >> Base de Datos >  >> RDS >> Mysql

Cuándo usar consultas preparadas de PDO. error mysql_real_escape

Para abordar el error que está recibiendo, mysql_real_escape_string() requiere una conexión abierta a través de mysql_connect() . Debido a que no tiene uno, está intentando conectarse y falla (usando un nombre de usuario de matthew , mientras que su PDO se conecta con root ). Además, no puede (o no debe ) mezclar y combinar mysql_real_escape_string() y PDO - son bibliotecas diferentes.

Con respecto a "cuándo" usar declaraciones preparadas, la regla general es siempre que los valores no estén codificados. Tu ejemplo de LIKE '%hotmail%' no necesita estar preparado, está codificado y nunca cambiará (a menos que lo actualice manualmente, por supuesto).

Si tiene una consulta que incluirá una variable de cualquier tipo, ya sean datos de $_POST o $_GET , o una variable que un desarrollador hizo 10 líneas antes de la consulta, debe usar una declaración preparada (o al menos escapar de ella, consulte DOP::quote ).