根据选定的某个值基于运行时切换数据库

时间:2015-10-27 00:48:43

标签: php mysql multiple-databases

我有主页,其中我将覆盖城市列表作为超链接。每个城市都有不同的数据库。

因此,当用户在运行时单击城市时,应选择数据库。如果用户更改城市,则应再次更改数据库。

目前我正在使用以下方法:

的index.php

<code>

if(!isset($_REQUEST['city']))
{
    $_SESSION['city'];
    $_SESSION['usercity'] = "";
}
else
{
    $_SESSION['usercity'] = $_REQUEST['city'];
    $_SESSION['usercity'];
}

</code>

db.php

<code>

if($_SESSION['usercity'] == 'pune')
{
    $dbname = 'pune_xxxx';
}
else if($_SESSION['usercity'] == 'hyderabad')
{
    $dbname = 'hyderabad_xxxx';
}
else if($_SESSION['usercity'] == 'aurangabad')
{
    $dbname = 'aurangabad_xxxx';
}
else if($_SESSION['usercity'] == 'bangalore')
{
    $dbname = 'bangalore_xxxx';
}
else
{
    $dbname = 'xxxx';
}   

</code>

第一次它工作正常但是如果想要更改城市,它会因为之前的DB会话而失败。

让我知道这个过程的解决方案或替代方案

谢谢你提前

1 个答案:

答案 0 :(得分:0)

你需要再次做session_start();在$_REQUEST['city']中检测到更改后再设置会话变量。