我使用mysqli_fetch_assoc和'while'创建了代码,但是没醒

时间:2018-09-28 05:43:22

标签: php mysqli

我使用mysqli_fetch_assoc和'while'创建了代码,如下所示。 但这不起作用。

  

if($结果= mysqli_query($ dbconn,$查询)){   它在这里起作用。

     

while($ row = mysqli_fetch_assoc($ result)){   从这里开始不起作用。

我找不到错误的部分。 如果我不使用“ while”,则其工作方式如下。

出什么问题了?

// not works
$query = "select * from member where f_status='1'";

if ($result=mysqli_query($dbconn, $query)) {
	while ($row = mysqli_fetch_assoc($result)) {
		if ($row[f_status]==0) {
			error("No data");
		} else {
			echo $row[f_user_id];
			echo $row[f_user_name];
		}
	}
	mysqli_free_result($result);
}



// works
$query = "select * from member where f_status='1'";
$result = mysqli_query($dbconn, $query);
$row = mysqli_fetch_assoc($result);

if ($row) {
	echo $row[f_user_id];
	echo $row[f_user_name];
} else {
	error("No data");
}

1 个答案:

答案 0 :(得分:0)

我认为问题在于您在循环和条件下循环显示No data消息的方式,

您应该尝试这种方式:

$query = "select * from member where f_status='1'";

if ($result = mysqli_query($dbconn, $query)) {
    if ($result->num_rows) {
        while ($row = mysqli_fetch_assoc($result)) {
            echo $row[f_user_id];
            echo $row[f_user_name];
        }
    }
    else {
        error("No data");
    }
    mysqli_free_result($result);
}

希望这可以解决您的问题。