我正在尝试将数组输入到我的查询中。我正在使用Wordpress
出于安全考虑,我需要使用%s
。
如果我不使用%s
,并将$results
直接放入查询中,则可以正常使用。
但是如果我使用%s
,它就不起作用。
我做错了什么?
<?php
/*$sym_result is an array*/
$result = implode("','",$sym_result);
$results = "'".$result."'";
$sql = $wpdb->get_results( $wpdb->prepare("
SELECT DISTINCT fruit FROM dis WHERE fruit IN (%s)
",$results));
print_r($sql);/*echo array()*/
?>
答案 0 :(得分:1)
尝试使用SQL语句:
SELECT DISTINCT fruit FROM dis WHERE fruit IN ("%s", "$results")
从您的问题中不清楚您是否想要使用“%s”代替“$ results”或另外?无论哪种方式,它都是引号可能是我认为的问题。
否则你试过像xxx或xxx而不是IN吗?我有一种感觉IN不允许使用通配符。