Úprava dotazu do databáze

Dobrý den, neví zde někdo, jak vytvořím funkci pro databázové dotazy, která upraví vstup a vrátí upravený text?

např.:
Vstup:
"SELECT * FROM %s WHERE id='%s' AND nazev='%s'", $db, $id, $nazev

Výstup:
SELECT * FROM db WHERE id='1' AND nazev='test'"

Děkuji
http://php.net/manual/en/function.sprintf.php
Ano, to jsem skoušel, ale php vrací chybu:
Warning: sprintf() [function.sprintf]: Too few arguments

Přitom dotaz vypadá takto:
INSERT INTO `db` (`id`, `nazev`, `test`) VALUES ('%s', '%s', '%s')", "1", $a, $b

Jde mi hlavně o kontrolování proměnných kvůli bezpečnosti a jednoduššímu zápisu (lépe se v něm vyznám).
Mně to normálně funguje

<?php
$a="xx";
$b="yy";
$sql=sprintf("INSERT INTO `db` (`id`, `nazev`, `test`) VALUES ('%s', '%s', '%s')", "1", $a, $b);
echo $sql;
?>