phpMyAdmin
 sql >> Base de Dados >  >> Database Tools >> phpMyAdmin

selecione do mysql db com 300 tabelas usando um prefixo padrão


Eu olharia para uma classe para fazer alguma abstração de consulta simples ou algum tipo de lib ORM que faça isso. Uma amostra seria assim.
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('*'));

Obviamente, isso não está nem perto de completo ou seguro. Apenas uma amostra de como uma classe de abstração pode acelerar seu sql e fazer seus prefixos para você.