今天在调用PHP的数据库的时候,出来的数据一直是ARRAY数组,当时一脸懵逼,对于习惯前端的被一个数据库后端问题难倒了。看看我错误的原因在哪里吧!
首先,我做了一波联表查询
select m.userid from (member m left join archives a on m.uname=a.writer) left join feedback f on f.aid = a.id where f.aid = '$aid' limit 1
可以看出,我的数据调用最后一句是'limit 1'说明我这里只查询‘m.userid‘里面的一条数据,就不需要for循环打印出各个数据。
但是我当时调用的时候使用的是‘$value = $row’(row为查询出来的sql数据),我将其调用出来显示的就是ARRAY。
我看见数组的时候就心想,完了,要利用循环打印得到数据了。这可不行,我就一条数据,为什么要做这么麻烦的操作,我反抗,我拒绝!!!
于是我找了一下调用出来的是ARRAY的原因,让我找到了一个方法!原来是我调用的时候少加了一个参数!如果调用的时候加上我所需数据的那个‘键’就可以得到我需要的
$value = $row['userid'];//正确方法
如果你需要调用的数据是多个数据的话,也可以使用for循环将其循环调用出来。
例:
$value = array_values($aRow);//此处的$aRow为你接收到的sql数据,数据库取得的array
然后使用for循环
for($i=0;$i<1;$i++)//这里的i你可以自己修改
{
$value[$i] = intval($value[$i]);//这里将我的数值换成int型
}
最后找到你需要调用的数值
$value[0];//这里的数值自己可以更改
掉用数据库出现ARRAY的情况就可以解决!