我要写PHP脚本,它使用MySQL表的表前缀。我应该编写所有请求,例如
$db_query='select * from '.$tbl_prefix.'sometable;';
或者可以设置一些变量,将这个前缀添加到所有查询中? 例如,我正在执行请求
$db_query='select * from sometable;';
和 MAGIC 为表本身添加前缀,因此对于MySQL查询将看起来像
select * from pref_sometable;
答案 0 :(得分:7)
你的第一个样本是要走的路;你需要每次都添加前缀。这可能会使它更容易变成一个函数(如果你需要更新任何东西,只需更新一个位置而不是多个位置会好得多):
function _table($table) {
global $tbl_prefix;
return $tbl_prefix . $table;
}
$db_query = 'SELECT * FROM ' . _table('sometable') . ';';
答案 1 :(得分:2)
没有MySQL命令可以执行此操作,您必须像在开始时一样在代码中实现它。所以:
$db_query='select * from '.$tbl_prefix.'sometable;';
很好。
如果您不想在每个查询上添加前缀,可以创建如下对象:
class database {
function select($qry,$database) {
$db_query="select " . $qry . " from myprefix_" . $database;
// $res = query($db_query);
return $res;
}
}
$db_query=database->select("*","sometable");
// echo $db_query;
$db_query=database->select("playernick","sometable");
// echo $db_query;
这不是100%的PHP,它只是一个想法,所以你可以得到它。