2013-06-30 6 views
0

Сегодня я создаю веб-сайт. Но я вроде как застрял.PHP MySQLi timeout

Вот что я делаю:

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
while ($res = getRank($_SESSION['USER']['role'])) 

Это выглядит как бесконечный e loop. Как $ res когда-либо окажется ложным, чтобы цикл вышел?

+0

Да, я забыл, что это массив, доступ к которому можно получить только с помощью [], который был решен сейчас, спасибо в любом случае. – user2528595

0

get_result() был представлен в PHP 5.4.0 и требует mysqlnd. Это необходимо? Попробуйте

$row = $stmt->fetch_assoc();