仅从记录中打印一个值

时间:2016-09-29 04:31:44

标签: php mysql arrays mysqli

在这里,我想打印表中的那些值。 所以,我的查询是这样的:

getURL("The R-help January 2009 Archive by date.html",set.verifypeer=FALSE)

Error in function (type, msg, asError = TRUE)  : 
  Could not resolve host: The R-help January 2009 Archive by date.html"

此处,$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); 不在表格中,但3331在表格中。 当我这样打印时,

2

它只给了我print_r($r_id);但没有得到1,这也在表格中。我不希望2没问题。但我只得到333,而不是1

更新如下:

正如你们都建议使用while循环一样,我确实喜欢这样:

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
)

任何建议都将不胜感激。 感谢。

3 个答案:

答案 0 :(得分:2)

  

使用while以从表中获取多个值:

$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'];
}

答案 1 :(得分: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();

答案 2 :(得分:0)

您没有正确使用mysqli_fetch_assoc()。它一次获取一条记录。使用方法如下:

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