---------------------------------------------- index.php ---------------------------------------------- include 'sql_templates.php'; if (mysql_query(sql_build('fetch_user_by_id', $id))) { ... } else { ... } if (mysql_query(sql_build('search_all_users', array($group, $email_pattern))) { ... } else { ... } ---------------------------------------------- sql_templates.php ---------------------------------------------- // A suite of sql statements used throughout the system. Set up as sprintf // templates. // This function runs the template through sprintf and passes any given // parameters. function sql_build($template, $params) { global $sql_templates; if (isset($sql_templates[$template])) { // TODO: verify given parameter count matches params for template. if (is_array($params)) { $sql = vsprintf($sql_templates[$template], $params); } else { $sql = sprintf($sql_templates[$template], $params); } return $sql; } return false; } // Fetch a list of user details $sql_templates['fetch_user_by_id'] = <<< ENDSQL select id, username, fullname, email from users where id = %d ENDSQL; .... more templates defined below.... ----------------------------------------------