2016-08-01 6 views
0

私のクエリに配列を入力しようとしています。私はWordpressを使用しています。
セキュリティ上の理由から、%sを使用する必要があります。配列を私のクエリmysql wordpressに入れようとしています

%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()*/ 
?> 
+3

http://stackoverflow.com/questions/10634058/issue-when-trying-to-use-in-in-wpdb – Ghost

答えて

1

SQL文のためにこれを試してみてください:

SELECT DISTINCT fruit FROM dis WHERE fruit IN ("%s", "$results") 

あなたは「%s」は「$結果」の代わりに、またはそれに加えて使用することを希望している場合、それはあなたの質問から不明ですか?いずれにせよ、それは私が推測する問題である可能性のある逆のカンマです。

それ以外の場合は、INの代わりにLIKE xxx OR xxxを試しましたか?私はワイルドカードを許可していないと感じています。

関連する問題