$link = mysqli_connect("localhost", "root", "", "db");
$stmt = mysqli_prepare($link, "Call breakup_api(@inno)");
mysqli_stmt_execute($stmt);
$result = mysqli_query($link,'SELECT @inno');
$output = mysqli_fetch_row($result);
mysqli_free_result($result);
var_dump($output);
Выше приведена функция для вызова хранимой процедуры в php.
Я могу выполнить процедуру с приведенным выше кодом, я пытаюсь преобразовать вышеупомянутое с подготовленным оператором, но не могу получить выходные данные, как это делает приведенный выше код. Может кто-нибудь сказать мне, что эквивалентно mysqli_fetch_row ($ result) при использовании подготовленного оператора.
$db = new dbConnect();
$this->conn = $db->connect();
$stmt = $this->conn->prepare("Call breakup_api(@inno);SELECT @inno;");
$stmt->execute();
$stmt->close();
использование mysqli_stmt :: выборки
$query = "Call breakup_api";// if params -> Call breakup_api ?, ?, ?
if ($stmt = $this->conn->prepare($query)) {
/* execute statement */
$stmt->execute();
/* bind result variables */
$stmt->bind_result($inno);
/* fetch values */
while ($stmt->fetch()) {
printf ("%s (%s)\n", $inno);
}
/* close statement */
$stmt->close();
}
PDO
не может выполнить несколько запросов одновременно, поэтому переместите SELECT @inno
внутри хранимой процедуры.
Других решений пока нет …