2012-05-22 1 views
1

У меня есть сценарий, который работает сам по себе в тестовом файле, но когда я называю его как функцию, мне представляется «Неустранимая ошибка: вызов функции функции-члена() на не-объект ".PHP MySQLi фатальная ошибка (не объект)

Код функции:

function next_image($currentId) { 
    $next = $mysqli->query("SELECT id FROM mp_images WHERE 
     id > $currentId ORDER BY id ASC LIMIT 1"); 
    while ($nextrow = $next->fetch_row()){ 
     $nextid = $nextrow[0]; 
    } 
    if (!empty($nextid)) { 
     echo "Next ID: ".$nextid; 
    } 
    else { 
     echo "No more images"; 
    } 
    $next->close(); 
} 

Страница Код:

$id=$_GET['id']; 
next_image($id); 

ответ

3

$mysqli не определен в области видимости функции. Вам либо нужно передать его функции, либо сделать ее глобальной (но не делать ее глобальной).

+0

Хорошо, так какой лучший подход к этому? Я довольно новичок в PHP-функциях. –

+0

@josh: перейдите в '$ msyqli' как второй аргумент funtion. – prodigitalson

+0

'function next_image ($ currentId, $ mysqli) {...' –