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 {
...
}
// 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....
----------------------------------------------