gpt4 book ai didi

php - 使用默认前缀从 300 个表中选择 mysql 数据库

转载 作者:行者123 更新时间:2023-11-29 01:05:37 25 4
gpt4 key购买 nike

我有一个程序可以从大约 200 个带前缀的表中进行选择。例如 PBN_products、PBN_address、PBN_others。有没有一种方法可以将前缀定义为默认值并进行选择,而不是在每个表上为 select 语句附加前缀?

$prefix=GET['prefix'];
mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);
mysql_select_db(DB_DATABASE);
$sql = 'SELECT price, description, title, cost'.
'FROM products, address, others';

如何定义不包含在所有表中的前缀?我有 200 张 table 。

最佳答案

我会研究一个类来执行一些简单的查询抽象或执行此操作的某种 ORM 库。示例如下。

class Query {
function from($tbl){
return new Table($tbl);
}
}
class Table {
var $prefix = 'PBN_';
var $tblname = '';

function Table($name){
$this->tblname = $this->prefix.$name;
}
function select($cols, $where = false, $order = false, $limit = false){
$query = "SELECT {$cols} FROM {$this->tblname}";
if($where) $query .= " WHERE ".$where; //add where
if($order) $query .= " ORDER BY ".$order; //add order
if($limit) $query .= " LIMIT ".$limit; //add limit
return $query;
}
}

$q = new Query;
$results = mysql_query($q->from('products')->select('*'));

这显然远未完成或安全。只是抽象类如何加速您的 sql 并为您设置前缀的示例。

关于php - 使用默认前缀从 300 个表中选择 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5340899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com