Php MySQL:从值位于数组中的表中选择值

Php MySQL:从值位于数组中的表中选择值,php,mysql,arrays,Php,Mysql,Arrays,我已经四处寻找我的解决方案一段时间了,但没有成功。我想我应该问问网络开发的精英 我将试着解释这个简单的问题 数组: $image_exts = array('jpg','jpeg','gif','png', 'bmp','webp'); 我需要做的是这样的事情: SELECT file_views FROM files WHERE file_owner='$user_id' AND file_ext='$image_exts' 数据库中的“file_ext”字段可以包含一个文件的“jp

我已经四处寻找我的解决方案一段时间了,但没有成功。我想我应该问问网络开发的精英

我将试着解释这个简单的问题

数组:

$image_exts = array('jpg','jpeg','gif','png', 'bmp','webp');
我需要做的是这样的事情:

SELECT file_views 
FROM files 
WHERE file_owner='$user_id' 
AND file_ext='$image_exts'
数据库中的“file_ext”字段可以包含一个文件的“jpg”和另一个文件的“mp4”…在本例中,我只想计算图像的视图数

谢谢你抽出时间

更新2:

function count_totalviews($user_id){
    $image_exts = array('jpg','jpeg','gif','png','bmp','webp');
    $image_array=implode(",", $image_exts);
    $query = mysql_query("SELECT file_views FROM files WHERE file_ext IN ($image_array) AND file_owner='$user_id'");
        $count=0;
            while($row = mysql_fetch_assoc($query)){
                $count = $row['file_views'] + $count;
            }
        return $count;
    }

PHP警告:mysql\u fetch\u assoc():提供的参数不是有效的mysql结果


不知道该做什么…

在中使用

您可以使用$image\u Array=introde(“,”,$image\u exts)从数组中获取列表

从文件中选择文件视图,其中文件所有者为“$user\u id”,文件外部为(“$image\u Array”)


在中使用mysql的
,但要确保括号中的图像扩展列表包含引号中的字符串

您在更新2上的代码就快到了,但这一行有一个问题:

$image_array=implode(",", $image_exts);
$image\u array
最终成为
jpg、jpeg、gif、png、bmp、webp
,而实际上您需要它是
'jpg'、'jpeg'、'gif'、'png'、'bmp'、'webp'
,以便在查询中使用

将该行代码替换为:

$image_array = "'" . implode("','", $image_exts) . "'";

保留其余代码,看看是否有效。

use IN子句IN query..因此file\u ext将只检查$image\u exts数组中的值我尝试了
SELECT file\u view FROM files IN($image\u exts)WHERE file_owner='$user_id'
在这里不起作用:
WHERE file_owner='$user_id'和'$image_exts'中的file_ext
@Sorcher-这应该会起作用。或者
WHERE file_owner='$user_id'和file_ext IN(“.$image_exts”)
PHP警告:mysql_fetch_assoc():提供的参数不是有效的MySQL结果资源可能该查询有效,但本例中的MySQL\u fetch\u assoc无效?我认为您提供的表名和列名错误,chkitI已trippel对其进行了检查,并且我手动提供了$user\u id,但没有成功,仍然是相同的错误。请查看更新后的完整php功能,先生,您刚刚保存了我的一天!这个解决方案对我有效。非常感谢你!