动态mysql连接和数据库

时间:2013-03-16 05:26:45

标签: php mysql database dynamic

我正在尝试编写一个选择,连接和访问数据库但不起作用的代码:X

$mysql_storage = true;

if($mysql_storage){

    $databases = array(

        array("localhost","glibet_login","#####","glibet_site")
    );

    foreach($databases as $database){

        $makeconnection = $database[1];
        ${$makeconnection} = mysql_connect($database[0],$database[1],$database[2]);
        mysql_select_db($database[3], $database[1]);

    }
}

$query = "SELECT * FROM users WHERE email='marsalcorreialima@gmail.com'";
$littlequery = mysql_query($query, $glibet_login);
$littlefetch = mysql_num_rows($littlequery);
print $littlefetch;

请告诉我这段代码是否至少有意义

警告:mysql_select_db()期望参数2是资源,第16行/home/glibet/public_html/api/api_storage.php中给出的字符串

编辑[求助]!

mysql_select_db($database[3], ${$makeconnection});

2 个答案:

答案 0 :(得分:2)

应该是

$makeconnection = $database[1];
${$makeconnection} = mysql_connect($database[0],$database[1],$database[2]);
mysql_select_db($database[3], ${$makeconnection});

并停止使用已弃用的mysql_*。使用mysqliPDO

答案 1 :(得分:0)

我认为你使连接过程有点复杂。它可以通过以下方式更简单

$mysql_storage = true;
$makeconnection;

if($mysql_storage){
    $makeconnection = mysql_connect("localhost","glibet_login","#####");
    mysql_select_db("glibet_site", $makeconnection);
}

$query = "SELECT * FROM users WHERE email='marsalcorreialima@gmail.com'";
$littlequery = mysql_query($query, $makeconnection);
$littlefetch = mysql_num_rows($littlequery);
print $littlefetch;