0

今天我一直在创建一个网站。但我有点……卡住了。

这就是我所做的:

function getRank($rank)
{
    if ($stmt = $GLOBALS['mysqli']->prepare('SELECT * FROM users_ranks WHERE id = ?     LIMIT 1'))
    {   
        $stmt->bind_param('i', $rank);
        $stmt->execute();
        $row = $stmt->get_result()->fetch_assoc();

        return $row;
    }
}

我的数据库是正确的。在我的方法中,我使用:

<?php 

    $att = array();
    $color = '';
    $font = '';
    $name = '';

while ($res = getRank($_SESSION['USER']['role']))
{
    $color = $res['color'];
    $font = $res['font'];
    $name = $res['name'];
}

echo '<text style="font-family: ' . $name . '; color: ' . $color . ';">';


echo $_SESSION['USERNAME'];

echo '</text>';

?>

当它运行代码时,我总是得到这个错误:

Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp_new\htdocs\iondelt\global.php on line 80

该行:

$row = $stmt->get_result()->fetch_assoc();

我不是mysqli大师,请帮助我:)

4

2 回答 2

0
while ($res = getRank($_SESSION['USER']['role']))

这看起来像一个无限循环。为了让循环退出,$res 将如何以 false 结束?

于 2013-06-30T17:10:24.340 回答
0

get_result()在 PHP 5.4.0 中引入,需要 mysqlnd。需要吗?尝试

$row = $stmt->fetch_assoc();
于 2013-06-30T17:12:56.560 回答