今天我一直在创建一个网站。但我有点......卡住了。
这就是我的所作所为:
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大师,请帮帮我:)。
答案 0 :(得分:0)
while ($res = getRank($_SESSION['USER']['role']))
这看起来像一个无限循环。为了让循环退出,$ res将如何结束为假?
答案 1 :(得分:0)
get_result()
是在PHP 5.4.0中引入的,需要mysqlnd。需要它吗?尝试
$row = $stmt->fetch_assoc();