Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更好地使用PHP在MySQL表中添加代码前缀?_Php_Mysql - Fatal编程技术网

如何更好地使用PHP在MySQL表中添加代码前缀?

如何更好地使用PHP在MySQL表中添加代码前缀?,php,mysql,Php,Mysql,我将编写PHP脚本,它使用MySQL表的表前缀。我应该像这样写所有的请求吗 $db_query='select * from '.$tbl_prefix.'sometable;'; 或者可以设置一些变量,将此前缀添加到所有查询中? 例如,我正在执行请求 $db_query='select * from sometable;'; MAGIC将前缀添加到表本身,所以对于MySQL查询 select * from pref_sometable; 你的第一个样品就是要走的路;每次都需要在前缀前加前

我将编写PHP脚本,它使用MySQL表的表前缀。我应该像这样写所有的请求吗

$db_query='select * from '.$tbl_prefix.'sometable;';
或者可以设置一些变量,将此前缀添加到所有查询中? 例如,我正在执行请求

$db_query='select * from sometable;';
MAGIC将前缀添加到表本身,所以对于MySQL查询

select * from pref_sometable;

你的第一个样品就是要走的路;每次都需要在前缀前加前缀。不过,这可能会使它更容易成为一个函数(如果您需要更新任何内容,最好只更新一个位置而不是多个位置):


你的第一个样品就是要走的路;每次都需要在前缀前加前缀。不过,这可能会使它更容易成为一个函数(如果您需要更新任何内容,最好只更新一个位置而不是多个位置):


没有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,它只是一个简单的想法,这样你就可以得到它。

没有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,它只是一个简单的想法,这样您就可以得到它。

事后替换字符串以插入表前缀太难了。基本上,它只能用于最简单的查询。一旦您有多个联接或别名,或者需要在WHERE子句中使用虚线表名,您就会遇到很大的困难。坚持连接。为什么需要使用表前缀?为什么您认为它是强制性的,并且始终是一种良好的做法?事后进行字符串替换以插入表前缀太难了。基本上,它只能用于最简单的查询。一旦您有多个联接或别名,或者需要在WHERE子句中使用虚线表名,您就会遇到很大的困难。坚持连接。为什么需要使用表前缀?为什么您认为这是强制性的,而且始终是一种良好的做法?