Я добавил CMS на свой сервер. Мне просто интересно, почему я продолжаю получать эту ошибку на странице, чтобы купить подписку.
Это ошибка;
Catchable fatal error: Argument 1 passed to ObjectArray::fromMySQLiResult() must be an instance of
mysqli_result, boolean given, called in
C:\inetpub\wwwroot\model\FactoryObjects\User.php on line 71
and defined in C:\inetpub\wwwroot\lib\ObjectArray.php on line 284
Строка 71 имеет следующее;
public function getOrders() {
$objectArray = new ObjectArray();
$result = $this->getConnection()->query("SELECT * FROM vip_orders WHERE user_id =
'" . $this->id. "'");
$objectArray->fromMySQLiResult($result); (<Line 71<)
return $objectArray;
}
Строка 284 имеет следующее;
public function fromMySQLiResult(mysqli_result $result) (<Line 284<)
{
$this->clear();
while ($row = $result->fetch_object())
{
$this->add($row);
}
return $this;
}
Пожалуйста, дайте мне знать, если вам нужна какая-либо другая информация, чтобы помочь мне исправить эту ошибку!
Спасибо!
(Примечание: для тех, кто помогает, не могли бы вы объяснить, в чем именно заключается проблема? Например, что это за функция и почему она не работает, спасибо.)
Ваше определение fromMySQLiResult(mysqli_result $result)
утверждает, что функция требует параметр типа mysqli_result
, Тем не менее, вы передаете результат MySQLi :: запрос () который также может иметь тип boolean в случае сбоя.
Чтобы предотвратить ошибку, убедитесь, что $result
на самом деле результат запроса похож на пример в документации:
if ($result) {
$objectArray->fromMySQLiResult($result);
} else {
// handle error
}
Других решений пока нет …