我使用的是SQL語句中一個變種,它會檢查可能有許多標籤如以類似聲明
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)
使用VAR我可以得到這個工作,我可以找到一個實例,如果adtags只包含一個標籤,我刪除了queryvar methid - 但我想要做的是搜索fv1.field_value的發生$ queryVar(家庭或任何東西多數民衆贊成通過)
我認爲爲了做到這一點,我需要使用通配符,比如%HOME%
where fv1.field_value like '%home%'
但我怎麼做到這一點,當queryvar作爲%s的引用,可我莫名其妙地逃脫了這一點?
感謝
使用準備好的語句,不要把PHP變量直接從SQL它會讓你容易受到SQL注入 –