将 mysqli 结果存储到数组中,然后用 while 循环打印它
storing the mysqli result into array and then printing it with a while loop
你好,我正在尝试将 mysqli 查询的结果存储到一个数组中,然后将数组存储到会话中,然后在其他页面上借助 mysqli_fetch_array 打印可验证的会话..
我的代码看起来像....
$arraysession=array();
if(!isset($_SESSION['query_result'])){
$GEttheBIrthdaYS=mysqli_query($conn,"select something from tablename where (something=something1) order by id desc limit 40");
while($res = mysqli_fetch_row($GEttheBIrthdaYS)){
array_push($arraysession, $res);
}$_SESSION['query_result']=$arraysession;
} else {
$GEttheBIrthdaYS = $_SESSION['query_result'];
}
while($data=mysqli_fetch_array($GEttheBIrthdaYS)){
}
数组存储到会话中,我什至可以通过
打印数组
echo '<pre>',print_r($GEttheBIrthdaYS,1),'</pre>';
当我打印数组时,它就像
Array
(
[0] => Array
(
[0] => 160
[1] => name1
[2] => image
[3] => 1995-05-28 00:00:00
)
[1] => Array
(
[0] => 158
[1] => name2
[2] => image.jpg
[3] => 1994-06-14 00:00:00
)
[2] => Array
(
[0] => 157
[1] => name3
[2] => image.jpg
[3] => 1995-01-15 00:00:00
)
[3] => Array
(
[0] => 155
[1] => name4
[2] => image.jpg
[3] => 1993-08-26 00:00:00
)
[4] => Array
(
[0] => 154
[1] => name5
[2] => image.gif
[3] => 1993-09-27 00:00:00
)
)
问题是当我用 mysqli_fetch_array 打印数组时它显示
mysqli_fetch_array() expects parameter 1 to be mysqli_result, array given in f/:something/directory/page on line 3
我只想知道如何打印这个通过 while 循环存储到会话中的数组
然后我需要打印为
while($data=mysqli_fetch_array($GEttheBIrthdaYS)){
echo $data['dob']; ..........
}
您已将行从 mysqli_result
转换为 array
,因此您需要遍历数组然后将其打印出来,像这样应该可以工作:
foreach($GEttheBIrthdaYS as $data) {
echo $data[0];
echo '<br>'.$data[1];
echo '<br>'.$data[2];
echo '<br>'.$data[3];
}
您的查询可能失败并返回错误值。
把这个放在你的 mysqli_query() 之后看看发生了什么。
if (!$$GEttheBIrthdaYS) {
printf("Error: %s\n", mysqli_error($con));
exit();
}
你好,我正在尝试将 mysqli 查询的结果存储到一个数组中,然后将数组存储到会话中,然后在其他页面上借助 mysqli_fetch_array 打印可验证的会话..
我的代码看起来像....
$arraysession=array();
if(!isset($_SESSION['query_result'])){
$GEttheBIrthdaYS=mysqli_query($conn,"select something from tablename where (something=something1) order by id desc limit 40");
while($res = mysqli_fetch_row($GEttheBIrthdaYS)){
array_push($arraysession, $res);
}$_SESSION['query_result']=$arraysession;
} else {
$GEttheBIrthdaYS = $_SESSION['query_result'];
}
while($data=mysqli_fetch_array($GEttheBIrthdaYS)){
}
数组存储到会话中,我什至可以通过
打印数组echo '<pre>',print_r($GEttheBIrthdaYS,1),'</pre>';
当我打印数组时,它就像
Array
(
[0] => Array
(
[0] => 160
[1] => name1
[2] => image
[3] => 1995-05-28 00:00:00
)
[1] => Array
(
[0] => 158
[1] => name2
[2] => image.jpg
[3] => 1994-06-14 00:00:00
)
[2] => Array
(
[0] => 157
[1] => name3
[2] => image.jpg
[3] => 1995-01-15 00:00:00
)
[3] => Array
(
[0] => 155
[1] => name4
[2] => image.jpg
[3] => 1993-08-26 00:00:00
)
[4] => Array
(
[0] => 154
[1] => name5
[2] => image.gif
[3] => 1993-09-27 00:00:00
)
)
问题是当我用 mysqli_fetch_array 打印数组时它显示
mysqli_fetch_array() expects parameter 1 to be mysqli_result, array given in f/:something/directory/page on line 3
我只想知道如何打印这个通过 while 循环存储到会话中的数组 然后我需要打印为
while($data=mysqli_fetch_array($GEttheBIrthdaYS)){
echo $data['dob']; ..........
}
您已将行从 mysqli_result
转换为 array
,因此您需要遍历数组然后将其打印出来,像这样应该可以工作:
foreach($GEttheBIrthdaYS as $data) {
echo $data[0];
echo '<br>'.$data[1];
echo '<br>'.$data[2];
echo '<br>'.$data[3];
}
您的查询可能失败并返回错误值。
把这个放在你的 mysqli_query() 之后看看发生了什么。
if (!$$GEttheBIrthdaYS) {
printf("Error: %s\n", mysqli_error($con));
exit();
}