Сбой подготовленного оператора PHP при вызове функции MySQL

Я уже давно использую подготовленные операторы без проблем, но сегодня, когда я пытался вызвать функцию MySQL из подготовленного оператора, я получаю следующее:

Fatal error: Call to a member function fetch_array() on boolean in DB.php on line 336

Это код, который я использую, и ничто не отличается от моего обычного SELECT, UPDATE или же DELETE Запросы, у меня также нет проблем с вызовом процедур, если ни одна из моих процедур не возвращает никакого значения.

$sql = "SELECT FN_MAINTAIN_ASSET(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) AS assetId;";

try {
$conn = $this->open();

$stmt = $conn->prepare($sql);
if($stmt === false) {
trigger_error(sprintf($txt["error_sql"], $conn->error), E_USER_ERROR);
}

$stmt->bind_param('iiiisssbbiiiis', $modify, $type, $category, $year, $title, $description, $imageFilename, $imageMain, $imageThumbnail, $membersOnlyView, $privateView, $status, $memberId, $createdIp);
$stmt->execute();

$rs = $stmt->get_result();
$result = $rs->fetch_array(MYSQL_ASSOC);  // Line 336
$rs->free();

$stmt->close();
$this->close($conn);
} catch (Exception $e) {
$logObj->error($e->getMessage());
}

$rs перед строкой 336 пусто, сообщений об ошибках от $stmtили.

Если у кого-то есть какие-либо предложения или идеи, с благодарностью.

-2

Решение

Из руководства для get_result:

Возвращаемые значения

Возвращает набор результатов для успешных запросов SELECT или FALSE для других
DML-запросы или по ошибке. Функцию mysqli_errno () можно использовать для
Различают два типа неудач.

Если ваше утверждение возвращает логическое значение, это не удалось. Проверьте сообщение об ошибке от $stmt->errorи исправить все, что не так.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]