我正在做一个项目,在此项目中,已登录的用户应该能够在首页上发布注释,并且正在登录的特定用户的注释应该打印在新的注释表单上方。我为此编写了一个函数,该函数可以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 />";
}
?>
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] 删除。
我来说两句