我正在从MySQL数据库获取数据,数据库有一个表名
wp_evr_event。我正在使用event_name从wp_evr_event获取记录。
wp_evr_event表有一个使用事件名称event_name字段名称。
现在事件名称是女性阅读组进入数据库。
当我使用查询时
$sql = "SELECT * FROM `wp_evr_event` WHERE `event_name` LIKE '%".$_REQUEST['events_name']."%' ";
echo $sql;
查询变得像
SELECT * FROM `wp_evr_event` WHERE `event_name` LIKE '%Women 's Reading Group%'
但这并没有获取任何记录。
对于 wordpress wpdb 类,您应该使用 2 个函数。 esc_like
& prepare
一个小例子:
global $wpdb;
// First, escape the link for use in a LIKE statement.
$link = $wpdb->esc_like( $_REQUEST['events_name'] );
// Add wildcards
$link = '%' . $link . '%';
// Create a SQL statement with placeholders for the string input.
$sql = "SELECT * FROM `wp_evr_event` WHERE `event_name` LIKE '%s'";
// Prepare the SQL statement so the string input gets escaped for security.
$sql = $wpdb->prepare( $sql, $link);
如果您像这样准备查询,您应该得到预期的结果。