我有一个WordPress数据库,其中包含一个名为usermeta
的表,如下所示:
umeta_id | user_id | meta_key | meta_value
1 | 1 |first_name| Matt
2 | 1 | dob | 1970-01-15
3 | 1 | dl_num | 10569788658
4 | 2 |first_name| Jim
5 | 2 | dob | 1985-07-29
6 | 2 | dl_num | 16578984258
如果meta_key是'dl_num'并且需要SQL查询来执行此操作,我需要获取特定用户的meta_value。
我做的是这样的事情:
SELECT meta_value FROM usermeta WHERE user_id = 1 AND meta_key LIKE 'dl_num'
我将其与Wordpress中的其他代码一起使用,将我的数据打印到.csv报告中,并且不会提取数据。
这是我的一段代码:
case 'dl_num':
if ( $report_user instanceof WP_User ) {
$user_id2 = $report_user->ID;
}
if ( property_exists( $report_item, 'post_id' ) ) {
$post_id2 = $report_item->post_id;
}
global $wpdb;
$myRows = $wpdb->get_row( "SELECT meta_value FROM ".$wpdb->prefix."usermeta WHERE user_id = ".$user_id2." AND meta_key LIKE 'dl_num'");
$column_value = $myRows;
break;
有人可以查看我的SQL查询,看看我是否遗漏了什么?
答案 0 :(得分:0)
我认为问题是查询中缺少空格:
$myRows = $wpdb->get_row("SELECT meta_value FROM ".$wpdb->prefix."usermeta WHERE user_id = ".$user_id2." AND meta_key LIKE 'dl_num'");
注意: