Php 在数组中声明多个DB主机并进行DB调用

Php 在数组中声明多个DB主机并进行DB调用,php,mysql,database,scripting,mysqli,Php,Mysql,Database,Scripting,Mysqli,我是PHP新手。我试图实现的是在一个数组中声明多个DB主机。类似于下面提到的内容: $slaves=array( array( //Slave 1 'name' => 'slave1', 'server' => '10.10.1.10', 'user' => 'user1', 'password' => 'p@ssuser1'

我是PHP新手。我试图实现的是在一个数组中声明多个DB主机。类似于下面提到的内容:

 $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”)

但这是行不通的。如果我试着把这些奴隶单独联系起来,这是可行的。但当我在数组中声明它时就不是了。有没有一种简单的方法可以随机调用这些从机?请强调我的代码中的错误在哪里。我已经检查了一些网页上的链接,但他们使用函数和这个关键字来进行数据库调用

如果你需要更多的信息,一定要告诉我


提前谢谢

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


而且您忘了将数据库名称传递给connect函数。

我不会将基于time()的选择称为随机选择。如果我没有弄错的话,您的所有脚本都会同时连接到同一台服务器。不工作意味着我得到了一个空白屏幕。我发现也有语法错误。谢谢您的回复。下次,请在发布前阅读手册
array\u rand
返回随机索引,而不是值。感谢您的回复。使用array_rand,它可以正常工作。已手动提供数据库名称“dbname”。
$slave = $slaves[array_rand($slaves)];
$con = mysqli_connect($slave['server'], $slave['user'], $slave['password'], "dbname");
$slave = $slaves[array_rand($slaves)];
$con = mysqli_connect($slave['server'], $slave['user'], $slave['password'], "dbname");