简单的问题 - 我明白如果我想在Wordpress中运行这种类型的查询:
SELECT * FROM tableA WHERE variable1 = $var1
...然后我需要使用'prepare',就像这样:
$my_query = $wpdb->get_results($wpdb->prepare("SELECT * FROM tableA
WHERE variable1 = %s", $var1) );
但是,当我想要进行此类查询时:
SELECT * FROM tableA, tableB WHERE tableA.some_col = tableB.some_other_col
......'应该'我:
或者可以执行以下操作:
$my_query = $wpdb->get_results("SELECT * FROM tableA, tableB WHERE
tableB.some_col = tableB.some_other_col");
答案 0 :(得分:1)
你不需要那里准备好的语句,因为没有人可以使用这段代码进行sql注入。
如果您只选择两个表中的所有内容而不提供任何变量,您可以忘记准备好的语句:)
答案 1 :(得分:1)
我认为你应该坚持
$ wpdb->制备
即使您没有任何未经过清理的参数也要传递给查询。 你应该这样做的原因很少: