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

get_result()PHP 5.4.0 で導入され、mysqlnd が必要です。必要ですか?試す

$row = $stmt->fetch_assoc();
于 2013-06-30T17:12:56.560 に答える
0
while ($res = getRank($_SESSION['USER']['role']))

それは無限ループのように見えます。ループが終了するために、$res がどのように false になるのでしょうか?

于 2013-06-30T17:10:24.340 に答える