Php 函数fetch_object()在while fetch循环中使用时返回false

Php 函数fetch_object()在while fetch循环中使用时返回false,php,mysqli,Php,Mysqli,当我在fetch while循环外部执行retrieveSubcategory()时,它工作,但从内部返回false private function retrieveSubcategory($subcategory_ID){ global $db; Subcategory = $db->query("SELECT subcategory_NL FROM wyby_subcategory WHERE subcategory_ID=$subcategory_ID");

当我在fetch while循环外部执行retrieveSubcategory()时,它工作,但从内部返回false

private function retrieveSubcategory($subcategory_ID){
    global $db;
    Subcategory = $db->query("SELECT subcategory_NL  FROM wyby_subcategory WHERE subcategory_ID=$subcategory_ID");
    echo '<pre>' , var_dump($Subcategory) ,'</pre>'; //returns false Why?
    $Subcategory = $Subcategory->fetch_object();
    return $Subcategory->subcategory_NL;
}

function RetrieveAllSubcat($CompID)
{
    $cats ="";
    global $database;

    $query = "SELECT DISTINCT(subcategory_ID) AS subcategory_ID FROM wyby_product WHERE company_ID=? ORDER BY subcategory_ID ASC";
    $ResultQuery = $db->prepare($queryString);
    $ResultQuery->bind_param('s',$Param);
    $ResultQuery->execute();
    $ProductQuery->bind_result($subcategory_ID);

    while($ProductQuery->fetch()){
        $cats .= " ". $this->retrieveSubcategory($subcategory_ID) .",";
    }
    echo $cats;
}
私有函数检索子类别($subcategory\u ID){
全球$db;
Subcategory=$db->query(“从wyby_Subcategory中选择Subcategory_NL,其中Subcategory_ID=$Subcategory_ID”);
echo“”,var_dump($Subcategory),“”;//返回false为什么?
$Subcategory=$Subcategory->fetch_object();
返回$Subcategory->Subcategory\u NL;
}
函数RetrieveAllSubcat($CompID)
{
$cats=“”;
全球$数据库;
$query=“从wyby_产品中选择不同的(子类别_ID)作为子类别_ID,其中公司_ID=?按子类别_ID ASC排序”;
$ResultQuery=$db->prepare($queryString);
$ResultQuery->bind_param('s',$param);
$ResultQuery->execute();
$ProductQuery->bind\u result($subcategory\u ID);
而($ProductQuery->fetch()){
$cats.=''.$this->retrieveSubcategory($subcategory_ID.),“;
}
回声猫;
}

一个简单的打字错误:你说的是
Subcategory=
而不是
$Subcategory=
。谢谢你的反馈。你的意思是在粘贴的第3行的bind_结果中。您应该得到警告或
语法错误:意外的“=”
。您可以运行
php-lyourfile.php
进行检查。