我在控制面板上有一个用于访问用户拥有的所有服务器的PHP代码,如果它们具有多个服务器,这显然将需要返回多行,但是目前看来我无法返回多行。

到目前为止,我已经将此作为我的代码;

    $nquery = "CALL `controlpanel`.`sp_getUsersServers`($userid);";
    $servers=array();
    try{
        $serverrows = $db->prepare($nquery);
        $serverrows->execute();
        $serverrows->store_result();
        while ($row = mysqli_fetch_assoc($serverrows)) {
            print_r($row);
        }
    }


从MySQL服务器运行时,存储过程正确返回,并且我设法以这种方式返回了第一行,但是显然我需要的不仅仅是第一行。为什么我会收到这样的错误?

编辑:
我在装有PHP的Windows Server 2012虚拟机上使用IIS。

最佳答案

没有这样的方法PDOStatement :: store_result。我应该尝试使用mysqli驱动程序连接到数据库。

$db = new mysqli("example.com", "user", "password", "database");

09-25 21:34