2017-01-27 19 views
0

での単一引用符文字列とクエリ文字列は、テーブル名私はMySQLデータベースおよびデータベースからデータをフェッチしていますPHPの

wp_evr_eventを持っている場合、レコードを取得する方法。私はwp_evr_eventのevent_nameを使用してレコードを取得しています。

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%' 

ようになる。しかし、これは任意のレコードをフェッチしていないクエリを使用

+0

イベント名に文字通り¥が含まれていますか? – GurV

+0

入力をエスケープすれば、どのような方法でmysql、mysqli、pdoを使うのですか? –

+1

パラメトリッククエリについては – Strawberry

答えて

1

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); 

あなたはこのようなクエリを準備する場合は、あなたが期待される結果を取得する必要があります。

+0

ありがとうございます –

関連する問題