-1

我是 PHP 新手。我想要实现的是在一个数组中声明多个数据库主机。如下所述:

  $slaves=array(
        array(  //Slave 1
                'name' => 'slave1',
                'server' => '10.10.1.10',
                'user' => 'user1',
                'password' => 'p@ssuser1'
                'port' => '3306'),
        array(  //Slave 2
                'name' => 'slave2',
                'server' => '10.10.1.11',
                'user' => 'user2',
                'password' => 'p@ssuser2'
                'port' => '3306'),
        )

完成后,我想对这些从站进行随机调用,即每个读取请求都应该从其中一个从站获得服务。

  $idx = time() % count($slaves);
$slave = $slaves[$idx];
$con = mysqli_connect($slave['server'], $slave['user'], $slave['password'], "dbname"); 

但这不起作用。如果我尝试单独连接这些从站,它就可以工作。但不是当我在数组中声明它时。有没有一种简单的方法可以随机调用这些奴隶?请突出显示我的代码中的错误在哪里。我检查了网络上的几个链接,但它们使用函数和这个关键字来进行数据库调用。

如果您需要更多信息,请告诉我。

提前致谢。

4

2 回答 2

0

您应该使用array_rand函数从数组中获取随机值。用这个修改检查它。

而且您忘记将数据库名称传递给连接函数。

于 2013-08-01T07:21:50.977 回答
0
$slave = $slaves[array_rand($slaves)];
$con = mysqli_connect($slave['server'], $slave['user'], $slave['password'], "dbname");
于 2013-08-01T07:26:14.157 回答