我已经查看了每篇帖子并尝试了一些建议,但没有任何效果。我的代码很好 - 但是Gravity Forms进行了更新并弄乱了数据从中提取的数据库表,所以我对其进行了编辑,但是数据仍然无法正确提取,并且我收到错误:当我打开调试时,"where子句"中的未知列"值"。
任何人都可以看到为什么我会收到此错误吗?该页面应根据团队成员在重力表单字段中输入的值检索团队成员列表.....在更新之前一切都很好。
以下是导致问题的代码 - 特别是$get_team_ids和$user_email行似乎是违规者。
function showstep1(){
$concate='';
$postid = get_the_ID();
$post_7 = get_post($postid);
if( is_mr() ) {
//print_r($post_7->post_title);
}
//echo $postid;
global $wpdb;
$table_name = $wpdb->prefix . "walking_steps";
$table_name1 = $wpdb->prefix . "users";
$table_name2 = $wpdb->prefix . "gf_entry_meta";
$get_team_ids = $wpdb->get_results("SELECT * FROM $table_name2 where value = '" .$post_7->post_title. "'");
if( is_mr() ) {
//print_r($get_team_ids);
//print_r( $getuserids );
}
$users = array();
if(!empty($get_team_ids)){
foreach ($get_team_ids as $idlead) {
$user_email = $wpdb->get_var("SELECT value FROM wp_gf_entry_meta WHERE form_id=4 AND lead_id=$idlead->lead_id AND field_number=3");
if( empty( $user_email ) ) {
$user_email = $wpdb->get_var("SELECT value FROM wp_gf_entry_meta WHERE form_id=1 AND lead_id=$idlead->lead_id AND field_number=2");
}
if( $user_email ) $users[] = $user_email;
//$concate .= $idlead->lead_id.',';
}
$concate = substr($concate, 0,-1);
//echo $concate;
}
"WHERE 子句"中的未知列"值"通常表示表中不存在该列。
您说另一行"user_email"也发生这种情况,该行也试图再次选择"值"列,如果这给您带来问题,则列名似乎不正确。
它是列的正确标题吗?似乎是一个模棱两可的名字。尝试将列"value"重命名为不太通用的名称,或将 where 子句更改为
"其中 table_name2.value = ">
如果这不是列标题,请将"value"替换为正确的列标题
编辑:根据评论更正下面的代码
将所有"value"实例替换为"meta_value">