$wpdb->prepareの書き方です。
ワードプレスからデータベースにアクセスする(情報を取得する)時にはSQLインジェクション対策のため、必ず$wpdb->prepareを使います。
※SQLインジェクションはハッキングのようなものです。
$wpdb->prepareの構文
$sql = $wpdb->prepare( SQL文, 変数1, [変数2 …] );
$query = $wpdb->get_results($sql);
$wpdb->prepareの書き方 例
1 2 |
$sql = $wpdb->prepare( "SELECT * FROM $wpdb->table WHERE id = %d name LIKE %s", $id, '%'.$name.'%' ); $query = $wpdb->get_results($sql); |
例の意味:tableという名前のテーブルから、*(すべてのカラム)の情報を取得。ただし、idというカラムが$idに一致し、かつ、nameというカラムが$nameを含むものを抽出する。
1 2 |
$sql = $wpdb->prepare( "SELECT * FROM $wpdb->table WHERE id = %d name LIKE %s", $id, $name.'%' ); $query = $wpdb->get_results($sql); |
例の意味:tableという名前のテーブルから、*(すべてのカラム)の情報を取得。ただし、idというカラムが$idに一致し、かつ、nameというカラムが$nameから始まるものを抽出する。
1 2 |
$sql = $wpdb->prepare( "SELECT * FROM $wpdb->table WHERE id = %d name LIKE %s", $id, '%'.$name ); $query = $wpdb->get_results($sql); |
例の意味:tableという名前のテーブルから、*(すべてのカラム)の情報を取得。ただし、idというカラムが$idに一致し、かつ、nameというカラムが$nameで終わるものを抽出する。
コメント