加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

php – 如安在SQL查询中行使数组

发布时间:2021-05-26 03:15:01 所属栏目:编程 来源:网络整理
导读:以是我试图获取一个搜刮字符串(也许是恣意数目的单词)并将每个值转换为一个列表,以便在下面的IN语句中行使)另外,我必要计较全部这些值以用于我的计数过滤 $search_array = explode(" ",$this-search_string);$tag_count = count($search_array);$db = Connec

以是我试图获取一个搜刮字符串(也许是恣意数目的单词)并将每个值转换为一个列表,以便在下面的IN语句中行使)另外,我必要计较全部这些值以用于我的计数过滤

$search_array = explode(" ",$this->search_string);
$tag_count = count($search_array);

$db = Connect::connect();
$query = "select p.id
          from photographs p
          left join photograph_tags c
          on p.id = c.photograph_id
          and c.value IN ($search_array)
          group by p.id
          having count(c.value) >= $tag_count";

这今朝没有功效,任何设法?

解:

$search_array = explode(" ",$this->search_string);

foreach ($search_array as $key => $value) {

    $new_search_array[] = "'$value'";

}

$search_string = implode(',',$new_search_array);

这给了我一个逗号脱离的列表 最佳谜底

$search_array = implode(",",$search_array);

由于IN回收逗号脱离的值列表. (可是你必要确保引用$search_array的内容,假如它们是单词的话.)

一步完成也许如下所示:

function quoteAndComma($result,$each) {
  return $result . ',"'.$each.'"';
}

$search_array = array_reduce($search_array,"quoteAndComma",'');

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读