mysqli_fetch_assoc仅返回数组的第一个元素

Sklrboy

我正在做一个项目,在此项目中,已登录的用户应该能够在首页上发布注释,并且正在登录的特定用户的注释应该打印在新的注释表单上方。我为此编写了一个函数,该函数可以mysqli_query识别我拥有的所有6个条目,但是mysqli_fetch_assoc仅打印6个中的第一个音符。我该怎么办?这是我的代码:

<?php    
    function find_notes_by_id($user_id) {
	global $connection;
	
	$safe_user_id = mysqli_real_escape_string($connection, $user_id);
	
	$query = 'SELECT content ';
	$query .= 'FROM notes ';
	$query .= 'WHERE user_id = '.$safe_user_id;
	$result = mysqli_query($connection, $query);
 
	//mysqli_result Object ( [current_field] => 0 [field_count] => 1 [lengths] => [num_rows] => 6 [type] => 0 )

	confirm_query($result);

	$row = mysqli_fetch_assoc($result);
	//Array ( [content] => First! ) = it only shows the very first element
	return $row;
}
?>

<?php
$notes_set = find_notes_by_id($userRow['id']);
  foreach($notes_set as $note){
	echo $note;
	echo "<br />";
  }
?>

在此处输入图片说明

阿南特·辛格(Anant Singh)

1.您需要遍历整个result-set object过程while()

2.将所有数据保存到array,然后返回array以获取所有记录

如下所示:

<?php    
  function find_notes_by_id($user_id) {
   global $connection;

    $safe_user_id = mysqli_real_escape_string($connection, $user_id);

    $query = "SELECT `content` FROM `notes` WHERE `user_id` = $safe_user_id";
    $result = mysqli_query($connection, $query);

    confirm_query($result);

    $final_data = array(); // create an array
    while($row = mysqli_fetch_assoc($result)){ // iterate over the result-set object to get all data
        $final_data[] = $row; //assign value to the array
    }
    return $final_data; // return array
  }
?>

现在:-

<?php
$notes_set = find_notes_by_id($userRow['id']);

print_r($notes_set) ; // print result to check array structure so that you can use it correctly in foreach
  foreach($notes_set as $note){
    echo $note['content'];
    echo "<br />";
  }
?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

mysqli_fetch_assoc仅返回一个结果,即使还有更多结果

从数组中删除第一个元素并返回减去第一个元素的数组

for循环仅返回bash脚本中的第一个数组元素

mysqli_fetch_assoc在第一行消失

Pyparsing分隔列表仅返回第一个元素

流星模板Blaze如何仅返回数组的第一个元素

table.unpack()仅返回第一个元素

Xpath通配符仅返回第一个元素

数组第一个元素

使用If语句的For循环仅返回第一个元素

Vue:Filter返回一个数组,如何获取第一个元素

'simplexml'php到mysql数据库循环仅返回第一个元素

在def中返回数组的第一个元素

GLSL统一结构数组仅定义第一个元素

搜索栏仅返回数据数组中的第一个元素

如何对基于数组的文档进行排序并仅返回结果的第一个元素

返回数组的第一个元素不是空元素

getElementById仅返回第一个元素的值

自动用元素列表循环填充数组,仅设置第一个元素

遍历2个数组仅循环第一个元素

数组到Excel范围仅给出数组的第一个元素

XSL。仅返回第一个非空元素

数组函数仅返回第一个值

preg_match_all仅返回索引为0的第一个数组,而不返回索引为1的第一个数组

数组返回第一个元素char而不是整个元素

调用 mysql_fetch_assoc 仅返回第一个结果,即使多次调用也是如此(已关闭:TYPO)

mysqli_fetch_assoc() 内部循环仅从 WHERE IN 查询中获取第一行结果

CSE UDF VBA 仅返回第一个元素

迭代嵌套字典仅返回第一个元素