变量$ u在放入mysql_select_db时不起作用

时间:2012-04-27 17:57:35

标签: php sql get

我正面临这个问题。感谢任何建议。

我有一个名为home.php的文件。这个home.php将从名为user的url参数中获取数据。

home.php

$u = $GET_["user"];
include('config.php');

每当ppl进入www.mydomain.com/index.php?user=hello时,都会捕获文本“hello”并将其放入变量$ u。

我为该特定用户提供了一个名为“hello”的数据库。在config.php中,我将使用以下代码与数据库建立SQL连接。

的config.php

define('DB_NAME', $u); 
define('DB_HOST', 'localhost');
define('DB_USERNAME', 'admin');
define('DB_PASSWORD', '123456');

$db = DB::getInstance();
//connect to database
$db->connect(DB_HOST,DB_USERNAME,DB_PASSWORD,DB_NAME);

数据库连接类

function connect($host, $username, $password, $database) {
    mysql_connect($host, $username, $password) or die('Server connexion not possible.');
    mysql_select_db($database) or die('Database connexion not possible.');
}

以上是所有代码段。

我的问题是我不断发生数据库连接错误。我相信一切都在逻辑上是正确的。要调试这个,每当我替换define('DB_NAME',$ u); with define('DB_NAME',“Hello”); - >有用。似乎我无法动态使用$ u的值。

总而言之。帮助赞赏。

2 个答案:

答案 0 :(得分:2)

您希望使用$_GET - 没有$GET_

这样的东西
$u = $_GET["user"]

答案 1 :(得分:0)

尝试使用$_GET["user"]代替$GET_["user"]

此处有更多文档:http://www.php.net/manual/en/reserved.variables.get.php