Команды SQL не синхронизированы при использовании процедурMySql

Форум по Mysql
Anonymous
Команды SQL не синхронизированы при использовании процедур

Сообщение Anonymous »

Я работаю над PHP:

Код: Выделить всё

    $sql = "SELECT * FROM `user` WHERE `UserID` = " . $pupID;
$result = $conn->query($sql);
if ($result->num_rows  == 1) {
$row = $result->fetch_assoc();
$this->name = $row['Name'];
$this->email = $row['Email'];
$this->hashedPassword = $row['Password'];
$this->role = $row['Role'];
} else {
header("Location: error.php?type=4");
die();
}

# Load handler data
$sql = "SELECT HandlerID FROM `puphandler` WHERE `PupID` = " . $pupID;
$result = $conn->query($sql);
if ($result->num_rows  == 1) {
$row = $result->fetch_assoc();
$this->handlerID = $row['HandlerID'];
} else {
header("Location: error.php?type=5");
die();
}
И я пытаюсь заменить 2 вызова процедурами. Процедуры следующие:

Код: Выделить всё

PROCEDURE `getPup`(IN `pupID` INT) NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN SELECT * FROM `user` WHERE `UserID` = pupID; END

PROCEDURE `getPupHandler`(IN `pupID` INT) NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN SELECT HandlerID FROM `puphandler` WHERE `PupID` = pupID; END
Но когда я заменяю SQL в коде PHP операторами CALL, я получаю сообщение об ошибке: Uncaught mysqli_sql_Exception: команды не синхронизированы; вы не можете запустить эту команду сейчас.

Подробнее здесь: https://stackoverflow.com/questions/793 ... procedures

Вернуться в «MySql»