首页 > 解决方案 > 如何将查询结果保存在变量中并在另一个查询中使用

问题描述

我想将最后生成的凭证保存在一个变量中,并用作另一个查询的输入。

$last = $this->db->query('SELECT MAX(voucherno) AS `last` FROM `purchasebill` ORDER BY no DESC LIMIT 1')->row_array();
    $result = $this->db->query("SELECT * FROM `purchaseitem`  where vno= '$last[0]' ORDER BY  vno " )->result_array();

我尝试了上面的代码,它给了我一个错误 undefined offset 0 ..帮助我将最后生成的凭证号保存在最后一个变量中

标签: mysqlcodeigniter

解决方案


根据文档$last[0]将返回整个第一行。在您的情况下,您想要访问MAX(voucherno)存储在 alias 中的值last

在您的下一个查询中更改$last[0]$last['last'],它将起作用。

"SELECT * FROM `purchaseitem` WHERE vno = '{$last['last']}' ORDER BY vno"

推荐阅读