- É uma péssima ideia conectar toda vez que você está chamando essa função. Um aplicativo bem planejado não teria uma limitação tão estranha.
-
você pode usar substituições, como estamyquery("SELECT * FROM table WHERE id = %s","My string");
-
Você pode usar outra forma de substituição, uma moderna:declarações preparadas. ele será descrito em várias outras respostas.
como ninguém postou ainda, aqui está um exemplo 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);
- Desde que você esteja usando codificação de byte único ou utf-8, não é necessário usar mysql_real_escape_string, então
mysql_escape_string(obsoleto) ou addlashes seriam suficientes