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功能,先生,您刚刚保存了我的一天!这个解决方案对我有效。非常感谢你!