[英]How to fetch the record when Query string with the single quotes string in Php
我正在從MySQL數據庫中獲取數據,並且數據庫具有表名
wp_evr_event 。 我正在使用wp_evr_event的 event_name來獲取記錄。
wp_evr_event表具有使用事件名稱的文件名稱event_name。
現在的事件名稱是“ Women \\'s Reading Group進入數據庫”。
當我使用查詢
$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);
如果您像這樣准備查詢,您應該會得到預期的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.