我想迁移旧的f.a.q脚本以使用mysqli语句。该脚本正在尝试从数据库获取多行结果以填充模板页面。现在抛出给定的错误,我不知道为什么。我看不到该错误,因为我无法指出将在哪里生成错误的布尔返回值。
引发的错误是:
Fatal error: Uncaught Error: Call to a member function fetch_row() on boolean in /var/www/web3/html/faq/admin/lib/display.php:174 Stack trace: #0 /var/www/web3/html/faq/index.php(147): faq_display::topQuestions() #1 {main} thrown in /var/www/web3/html/faq/admin/lib/display.php on line 174
受影响的班级
display.php
static public function topQuestions() {
$tops = faq_data::query('SELECT question, categoryid, questionid, count FROM :questions_table ORDER BY `count` DESC LIMIT 5');
$q = faq_data::multirow($tops);
$resarr = array();
$i = 0;
while( $queryContent = $q->fetch_row( ) ) {
$resarr[$i]['question'] = $queryContent[0];
$resarr[$i]['categoryid'] = $queryContent[1];
$resarr[$i]['questionid'] = $queryContent[2];
$resarr[$i]['count'] = $queryContent[3];
$i++;
}
return $resarr;
}
static public function topCategories() {
$tops = faq_data::query('SELECT name, categoryid, count FROM :categories_table ORDER BY `count` DESC LIMIT 5');
$q = faq_data::multirow($tops);
$resarr = array();
$i = 0;
while( $queryContent = $q->fetch_row( ) ) {
$resarr[$i]['name'] = $queryContent[0];
$resarr[$i]['categoryid'] = $queryContent[1];
$resarr[$i]['count'] = $queryContent[2];
$i++;
}
return $resarr;
}
data.php:
$queryResult = self::$connection->query($query);
if(!$queryResult) {
self::logError();
return false;
}
return $queryResult;
}
static public function row($query) {
$result = false;
if(is_string($query)) {
$result = self::query($query);
} else if (is_resource($query)) {
$result = $query;
}
if(!$result) {
return false;
}
return $result->fetch_assoc();
}
static public function multirow($query) {
$result = false;
if(is_string($query)) {
$result = self::query($query);
$rows = array();
while($row = $result->fetch_assoc()) {
$rows[] = $row;
}
$result = $rows;
} else if (is_resource($query)) {
$result = $query;
$rows = array();
while($row = $result) {
$rows[] = $row;
}
$result = $rows;
}
if(!$result) {
return false;
}
return $result;
}
您能提供帮助吗?
我看到有类似的问题,但这不是重复的。我正在为该脚本搜索特定的解决方案。