我在 sql 语句中使用了一个 var,它检查一个可能有很多标签的字段,例如
adtags="home, about, article"
$queryVar = 'home'
$bannerName = $wpdb->get_results($wpdb->prepare("select pic.filename
, pic.pid
, fv1.field_value as MovieName
, fv2.field_value as Adlink
from ngg_pictures pic
inner join
nggcf_fields f1
on f1.field_name = 'adtags'
inner join
nggcf_field_values as fv1
on fv1.pid = pic.pid
and fv1.fid = f1.id
inner join
nggcf_fields f2
on f2.field_name = 'adlink'
inner join
nggcf_field_values as fv2
on fv2.pid = pic.pid
and fv2.fid = f2.id
where fv1.field_value like '%s' ",$queryVar));
注意(fv1.field_value 正在拉取广告标签)
如果 adtags 只包含一个标签,我可以在其中找到一个实例,并且我删除了 queryvar 方法,我可以让它工作,但我想做的是搜索 fv1.field_value 以查找 $queryVar 的出现(home 或任何传递的东西)
我认为为了做到这一点,我需要使用通配符,例如 %home%
where fv1.field_value like '%home%'
但是当查询变量被引用为 %s 时,我该如何实现这一点,我可以以某种方式逃避它吗?
谢谢