mysql - 如何将查询结果保存在变量中并在另一个查询中使用
问题描述
我想将最后生成的凭证保存在一个变量中,并用作另一个查询的输入。
$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 ..帮助我将最后生成的凭证号保存在最后一个变量中
解决方案
根据文档,$last[0]
将返回整个第一行。在您的情况下,您想要访问MAX(voucherno)
存储在 alias 中的值last
。
在您的下一个查询中更改$last[0]
为$last['last']
,它将起作用。
"SELECT * FROM `purchaseitem` WHERE vno = '{$last['last']}' ORDER BY vno"
推荐阅读
- android - androidExtensions “parcelize” 在 Kotlin 1.3.30 中不起作用
- c# - 如何从字符串中删除重复项?
- .net - 由于 ZIP 的结构,使用 kudu ZipDeploy 的 Azure webapp 部署失败
- apache-kafka-streams - 如何使用 Kafka 流式 DSL 函数处理重复消息
- javascript - 如何使用变量作为图像源
- sql - SQL:更新和插入条件
- javascript - 无论如何,在同一功能中的其他人之前运行特定的等待动作?
- r - R:为数据框行的循环内的列分配值
- python-3.x - 无法访问 Jupiter Notebook 和缺少 Jsonschema
- python - 沿列展平numpy数组,顺序为:下三角形,对角线,上三角形