php - 使用 codeigniter 调用 mysql 过程 [错误 : result consisted more than one row]

标签 php mysql codeigniter

我有表 statusstatus_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/

相关文章:

php - 元素临 : Change or remove category/tag/author prefix from Archive Title

php - 上个月的最后几天

php - 连接表 MySql 的完整性约束违规

共享主机上的 CodeIgniter Cron 作业?

php - 如何从 Vtiger 6.3 文本中删除省略号?

MySQL 查询优化

mysql 按两个 unixtime 列组合排序

php - 来自两列 MySQL 表的两列数组

cPanel 中的 PHP Cron 作业无法正常工作

php - 如何在 Codeigniter 中加载 Controller ?