PHP + PDO:使用>行处理MySQL查询总是返回0行(rowCount()== 0)

时间:2015-01-19 09:34:09

标签: php mysql pdo

我有问题,我的以下功能

$theArray=$manageUsersInstance->listUserFahrgemeinschaften();

总是返回0行,但在使用PHPMyAdmin时总是会有结果。 调用不带参数的函数时,该函数始终返回0.

带参数

$param = array('bfg.benutzer' => 1);
$theArray=$manageUsersInstance->listUserFahrgemeinschaften($param);

该功能正在运作

function listUserFahrgemeinschaften($param = null)
{
    if(isset($param)){
        foreach($param as $key => $value){

            $query_result = $this->link->query("SELECT     fg.id 'fg_id', ".
                    "fg.description 'fg_description', ".
                    "fg.created_by_benutzer 'fg_created_by_benutzer', ".
                    "fg.created_on 'fg_created_on', ".
                    "bfg.id 'bfg_id', ".
                    "bfg.fahrgemeinschaft 'bfg_fahrgemeinschaft', ".
                    "bfg.benutzer 'bfg_benutzer', ".
                    "bfg.is_admin 'bfg_is_admin', ".
                    "bfg.is_default 'bfg_is_default', ".
                    "bfg.freigeschaltet 'bfg_freigeschaltet' ".
                    "FROM cp_fahrgemeinschaft fg  ".
                    "INNER JOIN cp_benutzerfahrgemeinschaften bfg ".
                    " ON fg.id=bfg.fahrgemeinschaft WHERE $key = '$value'");                
        }
    }
    else {
        $query_result = $this->link->query("SELECT         fg.id 'fg_id', ".
                    "fg.description 'fg_description', ".
                    "fg.created_by_benutzer 'fg_created_by_benutzer', ".
                    "fg.created_on 'fg_created_on', ".
                    "bfg.id 'bfg_id', ".
                    "bfg.fahrgemeinschaft 'bfg_fahrgemeinschaft', ".
                    "bfg.benutzer 'bfg_benutzer', ".
                    "bfg.is_admin 'bfg_is_admin', ".
                    "bfg.is_default 'bfg_is_default', ".
                    "bfg.freigeschaltet 'bfg_freigeschaltet' ".
                    "FROM cp_fahrgemeinschaft fg  ".
                    "INNER JOIN cp_benutzerfahrgemeinschaften bfg ".
                    "ON fg.id=bfg.fahrgemeinschaft ORDER BY fg.id DESC");               
    }

    if($query_result==false)
    {
        return "Query failed! ".mysql_error()."\n";
    }

    $rowCount = $query_result->rowCount();

    if($rowCount == 1)
    {
        $result = $query_result->fetchAll();
    }
    else
    {
        $result = 0;                
    }

    return $result;
}       

1 个答案:

答案 0 :(得分:2)

如果你有10条记录,这将是问题

 if($rowCount == 1)//it must be : if($rowCount > 0)
        {
            $result = $query_result->fetchAll();
        }
        else
        {
            $result = 0;                
        }
相关问题