$wpdb->prepare() で生成されたクエリを取得できますか?
-
次の書き方で
$wpdb->prepare()
を実行しているのですが、このときのクエリを取得する方法はありませんでしょうか?10行目にある
//「$wpdb->prepare()のクエリ」をここで取得したい
という部分のことです。$query = "SELECT * FROM wp_table WHERE ID = %d"; $prepares = [ 100 ]; $rows = $wpdb->get_results( $wpdb->prepare( $query, ...$prepares ), ARRAY_A ); if( $wpdb->last_error ){ // エラーをthrow }else{ $result = [ 'status' => 'ok', 'rows' => $rows, 'query' => '' //「$wpdb->prepare()のクエリ」をここで取得したい ]; }
つまり
SELECT * FROM wp_table WHERE ID = 100
という値を、$result['query']
に取得したいという意図です。試しに下記
$wpdb->queries
を実行してみたのですが、$result = [ 'status' => 'ok', 'rows' => $rows, 'query' => $wpdb->queries ];
上記は「
$wpdb->prepare()
のクエリ」に限らず、大量のクエリを取得してしまいまして、でもそんなに大量にはいらないんですよね…。$wpdb->prepare()
の結果どんなクエリが作られたか?だけでいいんです。
2件の返信を表示中 - 1 - 2件目 (全2件中)
2件の返信を表示中 - 1 - 2件目 (全2件中)
- トピック「$wpdb->prepare() で生成されたクエリを取得できますか?」には新たに返信することはできません。