PHP Prepare Statement for MySQL查询不起作用

时间:2017-07-07 12:52:38

标签: php mysql

我对我的php和mysql有点不习惯,但这个特殊问题让我摸不着头脑。

此功能正常。

 public function updateGarmentInUse($garid,$inUse){

    $stmt = $this->dbconnect->prepare('UPDATE garments SET garments.inuse = ?,
                            garments.dateupdated = CURDATE() WHERE garments.garmentid = ?');

    $stmt->bind_param("ii",$garInUsePost,$garIdPost);

    $garIdPost = $garid;
    $garInUsePost = $inUse;

    return $stmt->execute();

}

但是以下功能不起作用。

 public function getOneGarment($garid){

    $stmt = $this->dbconnect->prepare('SELECT garments.garmentid,garments.typeid,garments.sizeid,garments.colorid,garments.timeperiodid,
                            garments.inuse,DATE_FORMAT(garments.dateentered, "%M %d %Y") AS invdate
                        FROM garments WHERE garments.garmentid = ? ');

    $stmt->bind_param("i",$garIdPost);

    $garIdPost = $garid;

    return $stmt->execute();

}

我在页面上收到对成员函数fetch_assoc()的调用错误,我认为这意味着查询没有正确形成。为了确定问题,我将函数读作如下所示。

 public function getOneGarment($garid){

    $garIdPost = $garid;

    return $this->dbconnect->query('SELECT garments.garmentid,garments.typeid,garments.sizeid,garments.colorid,garments.timeperiodid,
                            garments.inuse,DATE_FORMAT(garments.dateentered, "%M %d %Y") AS invdate
                        FROM garments WHERE garments.garmentid ='.$garIdPost.'');

}

因为这可行,所以我认为这意味着正确地将值传递给函数,所以我迷失了。

所有帮助将不胜感激。

我在浏览器中看到完整错误。

  

PHP致命错误:未捕获错误:在C:\ inetpub \ wwwroot \ example1 \ views \ editGarments.php中调用boolean上的成员函数fetch_assoc():20   堆栈跟踪:        #0 C:\ inetpub \ wwwroot \ example1 \ index.php(24):include()        #1 {main}     在第20行的C:\ inetpub \ wwwroot \ example1 \ views \ editGarments.php中抛出

0 个答案:

没有答案