gpt4 book ai didi

php - MySQL 存储过程 : can't run from PHP code

转载 作者:可可西里 更新时间:2023-11-01 07:49:25 25 4
gpt4 key购买 nike

我有以下存储过程来检查用户名可用性

DELIMITER $$;

DROP PROCEDURE IF EXISTS tv_check_email$$

CREATE PROCEDURE tv_check_email (IN username varchar(50))
BEGIN
select USER_ID from tv_user_master where EMAIL=username;
END$$

DELIMITER ;$$

当我从我的 MySQL 前端工具运行它时,它工作得很好:

call tv_check_email('shyju@techies.com')

但是当尝试从 PHP 页面执行时,我得到一个错误,如

"PROCEDURE mydatabase.tv_check_email can't return a result set in the given context"

我确定我的 PHP 版本是 5.2.6。

最佳答案

Cody 并非 100% 正确。您可以绑定(bind)生成的返回列并从存储过程中返回选择数据。

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$stmt = $mysqli->prepare("call tv_check_email(?)");
$stmt->bind_param('s', "shyju@techies.com");
$stmt->execute();

$stmt->bind_result($userid);

while ($stmt->fetch()) {
printf("User ID: %d\n", $userid);
}

$stmt->close();
$mysqli->close();

关于php - MySQL 存储过程 : can't run from PHP code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/732906/

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