而prepare()
给出的答案部分正确,如果确实需要手动转义SQL语句的字符串,请使用esc_sql()
.
对于将字符串转义到like语句中的特定情况,应该更正确地这样写:
$query = $wpdb->prepare(
"SELECT post_title from $wpdb->posts
WHERE post_title LIKE %s",
"%" . $wpdb->esc_like( $myTitle ) . "%"
);
$wpdb->esc\\u like()是必要的,以便正确转义搜索短语中可能存在的任何百分号、下划线或反斜杠。请注意,$wpdb->esc\\u like()不返回准备好的输入,它只转义like中使用的特殊字符。因此,仍然需要prepare()。