Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL in_数组函数-第二个参数无效_Php_Mysql_Arrays - Fatal编程技术网

Php MySQL in_数组函数-第二个参数无效

Php MySQL in_数组函数-第二个参数无效,php,mysql,arrays,Php,Mysql,Arrays,我试图确定用户是否对某个项目进行了投票,并相应地更改投票图标的图像 $user_likes = mysql_query("SELECT * from ratings WHERE userid = '$uid' AND aggregate = 1"); while ($row_likes = mysql_fetch_array($user_likes)) { $row_likes['imageid'] = $likes_array; } 现在在我的内容中,我有一个PHP foreach,它为每次

我试图确定用户是否对某个项目进行了投票,并相应地更改投票图标的图像

$user_likes = mysql_query("SELECT * from ratings WHERE userid = '$uid' AND aggregate = 1");
while ($row_likes = mysql_fetch_array($user_likes)) {
$row_likes['imageid'] = $likes_array;
}
现在在我的内容中,我有一个PHP foreach,它为每次提交返回一个菜单项(这是用户可以投票的内容),
$image['idnum']
是单个图像的ID值。在上面的查询中看到的“ratings”表是我存储投票的地方,如下所示:用户id、图像id、聚合(在本例中为1,表示一个like)。下面是给我带来麻烦的in_数组函数:

if (in_array($image['idnum'], $likes_array)) {
    echo 'vote_triangle.png';
}
我收到以下错误消息:


警告:in_array()[function.in array]:第33行(filename)中的第二个参数的数据类型错误

while ($row_likes = mysql_fetch_array($user_likes)) {
    $row_likes['imageid'] = $likes_array; // ????
}
应该是:

// Initialize the array
$likes_array = array();

while ($row_likes = mysql_fetch_array($user_likes)) {
     $likes_array[] = $row_likes['imageid'];
}

您没有将数组作为第二个参数传递。太棒了!我有一种感觉,我的阵型可能会被搞得一团糟。我会尽快选择你的答案。你完全理解吗?第一个版本毫无意义,看起来基本上是一个打字错误或“愚蠢”的错误。我有点尴尬,但MySQL数组把我搞糊涂了。我更好地理解了为什么我需要
[]
来确定它是一个数组,然后在函数中使用它。我只是认为变量会将
$row\u likes['imageid']
存储为一个数组。
$row\u likes
循环的每次迭代中都会重置,而
$likes\u array
是未定义的。我使用了
$likes_array=array()
如果我们没有从数据库中得到任何结果,您仍然会有一个有效(空)数组。我甚至没有注意到
数组()
,但这肯定更有意义。再次感谢!