10
我试图使用mysqli编写语句以安全地将变量值传递给查询。所有这一切都为我工作,但我遇到的问题是在一个关联数组中获取结果。 这里是我的结构至今:PHP 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文档和堆栈交换中查找了这个问题,并且我找到了一些建议,但我似乎无法让它们工作。任何人都可以伸出援手吗?
真棒,那工作并返回一个关联数组,但它只返回查询的第一行。我是否需要将它放到foreach循环中,将剩余的行拖出并插入到新的数组中? – 2013-02-22 19:58:41
@ChrisSchmitz是的,只是循环'while($ row = $ result-> fetch_array(MYSQLI_ASSOC)){var_dump($ row); };' – 2013-02-22 23:49:01
这只适用于mysqlnd – greg 2015-03-10 04:17:03