Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQLi查询只返回一行_Php_Mysqli_Return_Row - Fatal编程技术网

Php MySQLi查询只返回一行

Php MySQLi查询只返回一行,php,mysqli,return,row,Php,Mysqli,Return,Row,此代码仅返回一行,但应返回两行。我在phpMyAdmin中尝试了SQL,它完美地返回了2行。我做错了什么 $request_list_result = $mysqli->query(" SELECT buddy_requester_id, buddy_reciepient_id, user_id, user_fullname FROM sb_buddies JOIN sb_users ON buddy_requester_id=user_id WHERE buddy_status='0'

此代码仅返回一行,但应返回两行。我在phpMyAdmin中尝试了SQL,它完美地返回了2行。我做错了什么

$request_list_result = $mysqli->query("
SELECT buddy_requester_id, buddy_reciepient_id, user_id, user_fullname FROM sb_buddies
JOIN sb_users ON buddy_requester_id=user_id
WHERE buddy_status='0' AND buddy_reciepient_id='". get_uid() ."'");

$request_list_row = $request_list_result->fetch_array();

echo $request_list['user_fullname'];
顺便说一句,上面的代码通过以下脚本将进程转换为profile.php:

$index = new Template('views/template/one.php', array(
'subtitle' => 'Dashboard',
'stylesheets' => array('/assets/css/profile.css'),
'scripts' => array('/assets/js/dashboard.js'),
'sidebar' => 'sidebar.php',
'content' => 'views/profile.php',
'errors' => $errors,
'successes' => $successes,
'request_list' => $request_list_row //right here
), true);

您需要循环查看结果。目前,您只获取第一行

$uid = get_uid();
$sql = "SELECT buddy_requester_id, buddy_reciepient_id, user_id, user_fullname 
        FROM sb_buddies
        JOIN sb_users ON buddy_requester_id=user_id
        WHERE buddy_status='0' AND buddy_reciepient_id='{$uid}'";

$request_list_result = $mysqli->query($sql);

while ($request_list_row = $request_list_result->fetch_array()) {
    echo $request_list['user_fullname'];
}
仅获取一行作为数组,您正在查找

 mysqli_result::fetch_all
取所有行

更多信息请点击这里


您需要循环查看结果(如上文所述)

您需要将生成的数组
$request\u list
发送到模板,而不是
$request\u list\u行

更改此设置

'request_list' => $request_list_row //right here
'request_list' => $request_list //right here
到此

'request_list' => $request_list_row //right here
'request_list' => $request_list //right here
如果您希望在模板中包含的不仅仅是
user\u fullname
(而且
mysqli\u result::fetch\u all
不需要PHP>=5.3),那么您需要在循环中构建自己的数组

我不知道你的模板代码需要什么,但你可以试试

while ($request_list_row = $request_list_result->fetch_array()) {
    echo $request_list[] = $request_list_row;
}

嗯,我明白你的意思,试过了,但没用。请检查我上次的编辑,并确认这是否会对您的答案产生影响:-)如果我像下面那样使用fetch_all:$request_list_result->fetch_all();它说:调用未定义的方法mysqli_result::fetch_all()