如果要在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";