- Es ist keine gute Idee, jedes Mal eine Verbindung herzustellen, wenn Sie diese Funktion aufrufen. Eine gut geplante Anwendung hätte solche seltsamen Einschränkungen nicht.
-
Sie können Ersetzungen wie diese verwenden
myquery("SELECT * FROM table WHERE id = %s","My string");
-
Sie können eine andere Art der Ersetzung verwenden, eine moderne:vorbereitete Anweisungen. es wird in zahlreichen anderen Antworten beschrieben.
Da es noch niemand gepostet hat, hier ein grobes Beispiel
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);
- Solange Sie Single-Byte-Codierung oder utf-8 verwenden, müssen Sie mysql_real_escape_string nicht verwenden, also
mysql_escape_string(veraltet) oder Addlashes reichen aus