Защита от sql инъекций

<?php
/**
 * Защита от sql инъекций
 * автор: Nc_Soft
 * 15.09.2009
 */

/*
Почему-то разработчики PHP не сделали функцию для работы с бд,
которая принимает запросы с параметрами.
Это сильно бы помогло в безопасности.
*/

//эта функция экранирует параметры
function qw() {
	$args = func_get_args();

	$query = array_shift($args);
	$args = array_map('mysql_real_escape_string', $args);
	array_unshift($args, $query);
	$query = call_user_func_array('sprintf', $args);
	
	if (!$query) die('неверный запрос');
	
	return mysql_query($query);
}

//пример использования
$q = qw("SELECT * FROM tbl WHERE login='%s' AND pass='%s' ", "лог'ин", "пар'оль");
//в этом запросе все кавычки будут экранированы, инъекция невозможна

/*вместо %s в функцию подставляется параметр, обработанный через mysql_real_escape_string
поэтому нет никакой необходимости предварительно обрабатывать данные , можно писать сразу
qw("SELECT FROM tbl WHERE id='%s' ", $_GET['id']);
Главное не забыть поместить %s в кавычки.
*/