簡體   English   中英

如何在PHP中使用單引號字符串查詢字符串時獲取記錄

[英]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_likeprepare

一個小例子:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM