我可以使用什么逻辑来允许表列中的x个值?

时间:2016-07-21 00:15:53

标签: php mysql

我们正在尝试在足球池网站上制作一个mod,其功能是每个用户使用一个小丑。我们希望能有一个以上的小丑。

下面这段代码检查用户是否还没有存储1个小丑。

// only allow setting of joker if it wasn't used before on a played match 
    $sql = $wpdb->prepare( "SELECT m.play_date 
                            FROM {$prefix}predictions p, {$prefix}matches m  
                            WHERE p.match_id = m.id AND p.has_joker = 1 AND p.user_id = %d"  
                            , $user 
                        ); 
    $play_date = $wpdb->get_var( $sql ); 
    if ( $play_date ) { 
        $play_date = new DateTime( $play_date ); 
        $ts = $play_date->format( 'U' ); 
        if ( $matches->match_is_editable( $ts ) ) { 
            $joker = $this->get_joker(); 
        } 
    } else { 
        $joker = $this->get_joker(); 
    }  

1 个答案:

答案 0 :(得分:0)

即使您从未实际运行查询,也尝试获取查询结果。在$wpdb->prepare$wpdb->get_var行之间,您需要:

  1. 执行查询(您只准备了它)
  2. 检查错误(是否成功执行)
  3. 检查是否返回任何记录
  4. 只有这样才能开始使用查询结果