2013-12-10 2 views
0

У меня есть код ниже, чтобы проверить, существует ли строка, а затем что-то делать. Тем не менее, я получаюВызов функции-члена fetch_assoc() для не-объекта. mysql

вызов функции члена FETCH_ASSOC()

Я обнаружил, что если я ставлю $check->get_result(); перед тем $check->store_result(); Эта ошибка уходит, но когда я делаю это и эхо $check->num_rows; я получаю пустой результат, хотя у меня есть одна строка в таблице. Что я делаю не так?

var_dump($check_result); дает мне ниже

0bject(mysqli_result)#6 (5) { 
    ["current_field"]=> int(0) 
    ["field_count"]=> int(25) 
    ["lengths"]=> NULL 
    ["num_rows"]=> int(1) 
    ["type"]=> int(0) 
} 

здесь есть запрос ...

$material = ''; 

$check_added = $mysqli->prepare("select * from table where material = ? order by id desc limit 1"); 
$check_added->bind_param('s', $material); 
$check_added->execute(); 
$check_result = $check_added->get_result(); 
$check_added->store_result(); 
echo $check_added->num_rows; 
if($check_added->num_rows < 1) 
{ 
    //Do something 
} 
else 
{  
    while($checkrow = $check_result->fetch_assoc()){ 
     echo $checkrow['title']; 
    } 
+0

'var_dump ($ check_result)' – zerkms

+0

@zerkms обновил вопрос. – user3006683

ответ

0

$ check_added является MySQLi подготовленного заявления объекта, который вы лечение, как набор результатов, вы treid $ check_result-> num_rows?

+0

О, я должен был сделать '$ check_result-> num_rows;' Спасибо, теперь это работает. – user3006683

+0

Прохладный. Такие вещи случаются все время – Zarathuztra

Смежные вопросы