PHP mysqli – 从准备好的语句返回一个关联数组

前端之家收集整理的这篇文章主要介绍了PHP mysqli – 从准备好的语句返回一个关联数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用 mysqli来准备一个语句,以便安全地将变量值传递给查询.所有这一切都适用于我,但是我遇到的问题是在一个关联数组中得到结果.
这是我的结构到目前为止:
$query = $c->stmt_init();
$query->prepare("SELECT e._id,e.description,e.eventDate,e.eventTime,e.address,e.locationDescription,i.guestId,r.guestId IS NOT NULL AS 'RSVP-ed'  FROM eventList AS e  JOIN inviteList AS i ON e._id = i.eventId LEFT JOIN rsvpList AS r ON r.eventId = e._id AND i.guestId = r.guestId JOIN guestList AS g ON g._id = i.guestId WHERE g.groupName = ?");
$query->bind_param('s',$groupName);
if ($result = $query->execute()){
    $a  = $result->fetch_array(MysqLI_ASSOC); // this doesn't work :/
} else{
    error_log ("Didn't work");
}

如你所见,我有很多列被传回,所以我不需要将它们绑定到一个变量.

除此之外,最终目标是将json编码的关联数组传回给我的应用程序的其余部分.

我已经在PHP文档和堆栈交换中查找了这个问题,我发现了一些建议,但是我似乎无法让他们工作.有人可以借吗?

如果您有MysqL Native驱动程序扩展( mysqlnd),您可以使用 get_result方法获取一个ResultSet,然后获取它:
$query = $c->stmt_init();
$query->prepare("SELECT e._id,$groupName);
if ($query->execute()){
    $result = $query->get_result();
    $a  = $result->fetch_array(MysqLI_ASSOC); // this does work :)
} else{
    error_log ("Didn't work");
}

猜你在找的PHP相关文章