如果要在SQL查询中转义字符串值,可以使用WordPress的esc_sql 功能:
<?php
$wpdb->get_var( "SELECT * FROM something WHERE foo = \'" . esc_sql( $foo ) . "\'" );
您还可以使用更方便的
prepare 功能如下:
<?php
$wpdb>-get_var(
$wpdb->prepare(
"SELECT * FROM something WHERE foo = %s",
$foo
)
);
然而,
esc_sql 不适合转义表名或列名(仅限字符串值)。而且没有办法使用
prepare 用于转义表名或列名。
我怎样才能逃脱$foo 和$bar 在这个示例中,SQL查询是否正确?
SELECT * FROM $foo WHERE $bar = "example";