Php 未知列';数组';在';其中第'条;但变量是字符串,而不是数组
我得到一个错误,提示我的WHERE子句中的变量是一个数组,但当我对它使用gettype()时,它返回它实际上是一个字符串。起初它是一个数组,我研究了它,并找出了如何转换为字符串,但出于某种原因,它仍然认为它是一个数组。。。以下是代码:Php 未知列';数组';在';其中第'条;但变量是字符串,而不是数组,php,mysql,arrays,Php,Mysql,Arrays,我得到一个错误,提示我的WHERE子句中的变量是一个数组,但当我对它使用gettype()时,它返回它实际上是一个字符串。起初它是一个数组,我研究了它,并找出了如何转换为字符串,但出于某种原因,它仍然认为它是一个数组。。。以下是代码: $params = array(':user_id' => $user_id, ':device_token'=>$post['device_token'], ':last_sync_time'=>$post['last_sync_time'])
$params = array(':user_id' => $user_id, ':device_token'=>$post['device_token'], ':last_sync_time'=>$post['last_sync_time']);
$get_group = $db->prepare("SELECT group_id
FROM users
WHERE id = '{$user_id}'");
$get_group->execute($params);
$group_id = $get_group->fetchAll(PDO::FETCH_ASSOC); //Gets the group id for the user downloading slides
$group_id = implode($group_id);
然后
$get_group_SLIEDS是导致错误的原因,当我从WHERE子句中删除$group_id变量时,错误消失了。。。我回显$group\u id,它显示正确的值。。gettype($group\u id)返回字符串。。。有什么想法吗
编辑:我刚刚又测试了一次,肯定是做错了什么,所以它回显变量是一个字符串,但由于某种原因,当我现在回显变量时,它回显“Array”。我没有使用infrade(),而是使用$group\u id=$group\u id[0]['group\u id'],现在它工作了!有太多的方法可以做同样的事情-。-“我没有使用内爆(),而是使用$group\u id=$group\u id[0]['group\u id'],现在它可以工作了!有太多的方法可以做,试着做同样的事情-。-“你必须有一个
胶水来内爆数组$group\u id=infrade($YOUR\u glue,$group\u id)根据我的理解,如果不包含glue,它将默认为空字符串,在本例中这是很好的,因为数组只包含一个元素。。。不管怎样,我只是以防万一,还是得到了同样的结果:(你必须有一个glue
来内爆数组$group\u id=内爆($YOUR\u glue,$group\u id)
根据我的理解,如果不包括“粘合”,它将默认为空字符串,这在本例中很好,因为数组只包含一个元素……无论哪种方式,我都只是以防万一地尝试了一下,但仍然得到了相同的结果:(
$get_group_slides = $db->prepare("SELECT audiourl,color,font_name,font_size,haveaudio,imageurl,isvideo,onlytext,slider_id,videourl,created
FROM admin_slides
WHERE group_id = $group_id AND created > '{$last_admin_sync}'
ORDER BY created
ASC LIMIT 20");
$get_group_slides->execute($params); //will get slides for assigned user group