gpt4 book ai didi

PHP:mysqli_fetch_assoc 不适用于存储过程

转载 作者:行者123 更新时间:2023-11-29 15:04:47 25 4
gpt4 key购买 nike

我在 MySQL 数据库中有一个“帐户”(ID、电子邮件、通行证)。

我有存储过程:

DELIMITER $$
CREATE PROCEDURE `LoadAccount`(email_p VARCHAR(100))
BEGIN
SELECT pass FROM account WHERE email = email_p;
END$$
DELIMITER ;

这是代码:

function loadAccount($email, $pass)
{
// connect to DB
// ...
$query = "CALL LoadAccount('{$email}')";

if ($mysqli->multi_query($query))
{
do
{
if ($result = $mysqli->store_result())
{
// Numbered array.
while ($row = $result->fetch_array(MYSQLI_NUM))
{
printf("%s %s\n", $row[0]);
}

// Associative array.
// while ($row = $result->fetch_array(MYSQLI_ASSOC))
// {
// printf("%s\n", $row['pass']);
// }
$result->free();
}
$mysqli->more_results();
} while ($mysqli->next_result());
}
}

因此,编号数组部分可以工作,但如果我将其注释掉并取消注释关联数组部分 - 页面就会挂起并失去连接。

为什么不起作用?

最佳答案

不确定您的代码中是否存在拼写错误,但是:

printf("%s\n", $row[pass]);

应该是:

printf("%s\n", $row['pass']);

关于PHP:mysqli_fetch_assoc 不适用于存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2375973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com