我有表 status 和 status_stage 。插入 status 表后,我想将其添加到 status_stage 表中。我有这个程序:
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `addStatus`(status VARCHAR(45), stage int (8))
BEGIN
DECLARE status_id INT DEFAULT NULL;
INSERT INTO status (status)
VALUES (status);
SELECT id INTO status_id FROM status WHERE status = status;
INSERT INTO stage_status (stage,status)
VALUES (stage,id);
END
我用这个来调用这个函数:
$result= $this->db->query("call addStatus('$status', $stage)");
return ($result->num_rows()>0);
当我尝试它时,它给了我这个错误:
Result consisted of more than one row
最佳答案
由于您的 WHERE
子句带有 status = status
,您的 SELECT ... INTO
语句获得了多个结果,这等于永远
您需要更改参数名称以将其与表列名称(例如 status_param)区分开来
关于php - 使用 codeigniter 调用 mysql 过程 [错误 : result consisted more than one row],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30722024/