- Det er en frygtelig idé at oprette forbindelse, hver gang du kalder denne funktion. En god planlagt ansøgning ville ikke have så mærkelige begrænsninger.
-
du kan bruge substitutioner som denne
myquery("SELECT * FROM table WHERE id = %s","My string");
-
Du kan bruge en anden måde at substituere på, en moderne:forberedte udsagn. det vil blive beskrevet i adskillige andre svar.
som ingen har postet det endnu, her er et groft eksempel
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);
- Så længe du bruger single-byte-kodning eller utf-8, behøver du ikke bruge mysql_real_escape_string, så
mysql_escape_string(forældet) eller tilføjede skråstreger ville være nok