Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 根据门店分支在表上选择特定前缀_Php_Mysql - Fatal编程技术网

Php 根据门店分支在表上选择特定前缀

Php 根据门店分支在表上选择特定前缀,php,mysql,Php,Mysql,我有一个跨部门库存系统,这意味着我有三个分支机构。每当管理员登录到系统时,它将检测其分支的位置。下面是我的代码示例: if ($_SESSION['user_role'] == 'Admin') { $execLog = mysqli_query($connection, $queryLog); if ($_SESSION['branch'] == 'BS') { header("Location: ../admin"); } elseif

我有一个跨部门库存系统,这意味着我有三个分支机构。每当管理员登录到系统时,它将检测其分支的位置。下面是我的代码示例:

if ($_SESSION['user_role'] == 'Admin') {
    $execLog = mysqli_query($connection, $queryLog);

    if ($_SESSION['branch'] == 'BS') {

        header("Location: ../admin");

        } elseif ($_SESSION['branch'] == 'TD') {

            header("Location: ../admin");

        } elseif ($_SESSION['branch'] == 'FV') {

            header("Location: ../admin");

        }
每个分支对我的数据库中的表都有一个特定的前缀。BS是
BS_
,TD是
TD_
,FV是
FV_
。现在,我的问题是如何在不遍历每个管理员的所有表的情况下,对数据库中的特定表设置查询

例如,如果我的分支是BS,我希望查询是:

SELECT * FROM bs_orders;
SELECT * FROM td_orders
如果我的分行是TD,我希望查询是:

SELECT * FROM bs_orders;
SELECT * FROM td_orders
我如何做到这一点

无论如何,这是我的connectdb.php代码

<?php 

$db['db_host'] = "localhost";
$db['db_user'] = "root";
$db['db_pass'] = "";
$db['db_name'] = "inventorydb";

foreach ($db as $key => $value) {
define(strtoupper($key), $value);
}

$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);

if (!$connection) {
    echo "Failed to connect to the database" . mysqli_errno($connection);
}

?>

类似于:

"SELECT * FROM " . strtolower($_SESSION['branch']) . "_orders";

使用字符串连接

在变量中设置前缀,如下所示:

$prefix= strtolower($_SESSION['branch']);
并在查询中使用

$sql = "SELECT * FROM $prefix.'_orders'"

只是做一个字符串连接怎么样?在变量中设置前缀,并在查询中使用$prefix中的
。“\u orders”
。谢谢。我很惊讶我没有想到这一点。很高兴能帮上忙。我将把它包装在一个答案中,这样您就可以批准它。当我回显$sql时,它会显示
SELECT*FROM bs.“\u orders”
。所以我用,
{$prefix}
代替了
$prefix.
。现在很好用。