2016-09-29 2 views
-2

Здесь я хочу напечатать те значения, которые указаны в таблице. Итак, мой запрос, как это:Распечатывает только одно значение из записи

$get_role_query = "SELECT id FROM table WHERE id IN (333,1,2)"; 
$roleres = mysqli_query($conn,$get_role_query); 
$r_id = mysqli_fetch_assoc($roleres); 

Здесь 333 не в таблице, но 1 и 2 в таблице. Когда я печатать это, как,

print_r($r_id);

Это только дает мне 1, но не получают 2, который также находится в таблице. Я не хочу 333, это нормально. Но я получаю только 1, не получая 2.

ОБНОВЛЕНО НИЖЕ:

Как вы предлагаете использовать то время как цикл, я сделал так:

$r_role = mysqli_num_rows($roleres); 

for($i=0;$i<=$r_role;$i++) 
{ 
    print_r($r_id); 
} 

Но я получаю выход, как это:

Array 
(
    [id] => 1 
) 
Array 
(
    [id] => 1 
) 
Array 
(
    [id] => 1 
) 

С выше запроса, я просто хочу, например,

Array 
(
    [0] => 1 
    [1] => 2 
) 

Любое предложение будет оценено по достоинству. Спасибо.

+1

Вам нужно будет постоянно получать строки, вы только вызывается один раз. use 'while' – Ghost

+0

Какой вывод вы действительно хотите здесь? –

+0

Вы должны сделать это, используя цикл. Результат должен быть несколько строк, но вы просто извлекаете его. –

ответ

0

Вы не используете mysqli_fetch_assoc() правильно. Он извлекает по одной записи за раз. Используйте его следующим образом:

while($r_id = mysqli_fetch_assoc($roleres)) 
{ 
    print_r($r_id); 
} 
+1

Кто бы ни отклонился, пожалуйста, помогите мне с той же причиной. –

+0

Это хорошо работает .. !! Благодарю. – Virb

2

Использование в целях выборки нескольких значений из таблицы:

$get_role_query = "SELECT id FROM table WHERE id IN (333,1,2)"; 
$roleres = mysqli_query($conn,$get_role_query); 
while($r_id = mysqli_fetch_assoc($roleres)) 
{ 
    echo $r_id['id']; 
} 
+0

Это правильно. Почему причина проголосовать = ?? –

+0

Еще один голос. Можете ли вы просто объяснить это. Так как это может быть полезно. –

+0

Спасибо Naresh. Ваш код работает .. !! – Virb

1

Вы также можете использовать метод объекта вместо метода массива.

$get_role_query = "SELECT id FROM table WHERE id IN (333,1,2)"; 

if ($result = $mysqli->query($get_role_query)) { 

    /* fetch object array */ 
    while ($obj = $result->fetch_object()) { 
     echo $obj->id; 
    } 
} 

/* free result set */ 
$result->close(); 
Смежные вопросы