La que yo uso va así:
Código PHP:
function prepare($query, $params){
//esta linea pone las comillas a todos los campos que son de texto en el query
$query = str_replace("%s", "'%s'", $query);
$clean_params = array();
//cada parametros lo escapamos y lo metemos en el array limpio
foreach($params as $value){
$clean_params[] = mysql_real_escape_string($value);
}
//vsprintf va a intercambiar los %s, o %d con los parametros que le mandamos
return vsprintf($query, $clean_params);
}
La idea es mandarle el query como un string de formato y un array con los parámetros, de esta manera:
Código PHP:
$conn = mysql_connect();
$id = $_GET['id'];
$nombre = $_GET['nombre'];
$query = prepare("SELECT * FROM `tabla` WHERE id = %d OR nombre = %s",
array($id, $nombre));
mysql_query($query, $conn);