我正在使用MySQL中的一个存储过程来检索一些信息。
CREATE PROCEDURE UpdateAndSelect()
BEGIN
Update Buddy set Buddy.winner = true, Partner.number = @number := Partner.number
WHERE Buddy.winner is false
ORDER BY RAND()
LIMIT 1;
SELECT p.number, Buddy.email
FROM sorteo
INNER JOIN Partner p on Buddy.id_buddy= p.id
WHERE number= @number
LIMIT 1;
END;数据返回一个Select,其中只包含数字和电子邮件。
但是,当我在CodeIgniter 3中执行调用时,结果总是空的。
现在我是这样做的。
function getData(){
$result = $this->db->query("CALL UpdateAndSelect()");
if ($result->num_rows() == 1) {
return $result->result();
} else {
return false;
}
}请任何人知道我如何从StoredProcedure获取数据。
这是我从MySQL获得的结果集。注意:数字=数字

发布于 2019-11-25 06:22:26
update子句中的Partner.number逻辑是什么?查询中未声明表Partner.number。这将导致错误。
尝试从MySQL命令行运行该命令,以便可以看到所有错误。
https://stackoverflow.com/questions/59022937
复制相似问题