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

¿Alternativa segura a mysql_real_escape_string? (PHP)

  • Es una idea terrible conectarse cada vez que llama a esta función. Una buena aplicación planificada no tendría una limitación tan extraña.
  • puede usar sustituciones, como esta
    myquery("SELECT * FROM table WHERE id = %s","My string");

  • Puede usar otra forma de sustituciones, una moderna:declaraciones preparadas. se describirá en muchas otras respuestas.

como nadie lo publicó todavía, aquí hay un ejemplo aproximado

function fetchAll(){
 $args = func_get_args();
 $query = array_shift($args);
 $stmt = $pdo->prepare($query);
 $stmt->execute($args);
 return $stmt->fetchAll();
}
$a=$db->fetchAll("SELECT * FROM users WHERE status=? LIMIT ?,?",$status,$start,$num);
  • Mientras esté usando la codificación de un solo byte o utf-8, no es necesario usar mysql_real_escape_string, así que mysql_escape_string (obsoleto) o con barras adicionales sería suficiente