在wpdb-> prepare()中添加重复值

时间:2011-05-25 15:22:00

标签: php wordpress

您可以在$ wpdb-> prepare中添加重复值。

我有以下SQL

"SELECT
 id,
 MATCH (content) AGAINST('$search')
FROM table
WHERE MATCH(post_search) AGAINST('$search' IN BOOLEAN MODE)"

到这个

$wpdb->prepare("SELECT
 id,
 MATCH (content) AGAINST(%s)
FROM table
WHERE MATCH(post_search) AGAINST(%s IN BOOLEAN MODE)", $search_terms)

有没有办法这样做而不做这个

$search_terms1 = $search_terms;
$search_terms2 = $search_terms;


$wpdb->prepare("SELECT
 id,
 MATCH (content) AGAINST(%s)
FROM table
WHERE MATCH(post_search) AGAINST(%s IN BOOLEAN MODE)", $search_terms1, $search_terms2)

2 个答案:

答案 0 :(得分:1)

  

有没有办法这样做而不这样做(...复制传递的变量)

不使用$wpdb。 (对于那个问题,也没有PDO。)你可以坚持传递初始变量,因为它不是通过引用传递的。

答案 1 :(得分:0)

为什么不使用与SQL中相同的内容:

$wpdb->prepare("SELECT
 id,
 MATCH (content) AGAINST('$search_terms')
FROM table
WHERE MATCH(post_search) AGAINST('$search_terms' IN BOOLEAN MODE)")