gpt4 book ai didi

php - 将数据库查询中的行获取到 CodeIgniter 中的数组中

转载 作者:行者123 更新时间:2023-11-29 01:26:38 27 4
gpt4 key购买 nike

所以我有以下名为“relacionproveedorfamilia”的数据库表

-----------------------------
| idProveedor | idFamilia |
-----------------------------
| 5 | 1 |
-----------------------------
| 5 | 2 |
-----------------------------
| 6 | 2 |
-----------------------------

我使用一个函数为 idProveedor 提供值,它应该返回一个数组,其中包含属于提供的 idProveedor 的 idFamilia 值。

例如,这是获取 idProveedor = 5 的所有 idFamilia 的查询

SELECT idFamilia FROM relacionproveedorfamilia WHERE idProveedor = 5;

查询结果为:

---------------
| idFamilia |
---------------
| 1 |
---------------
| 2 |
---------------

我试图将查询结果放入一个数组中,这样我就可以在我的 View 中显示内容。

在我的模型 Proveedormodel 中,我有以下函数,我通过检查本网站中的其他类似问题来编写代码。

public function obtenerIdFamiliaProveedor($idProveedor){
$query = $this->db->select('idFamilia')->from('relacionproveedorfamilia')->where('idProveedor', $idProveedor);
$arrayFamilias = array();

while($row = mysql_fetch_assoc($query)){
$arrayFamilias[] = $row;
}

return $arrayFamilias;
}

但在我看来,我收到了错误消息:

Message: mysql_fetch_assoc() expects parameter 1 to be resource, object given

我该如何解决这个问题?

最佳答案

您将 codeigniter 查询生成器类与 mysql_ 函数混合在一起。你为什么要这样做?

你必须改变你的代码:

while($row = mysql_fetch_assoc($query)){

为此:

foreach ($query->result_array() as $row)

并且您需要在查询末尾添加 get 方法:

$query = $this->db->select('idFamilia')->from('relacionproveedorfamilia')->where('idProveedor', $idProveedor)->get();

关于php - 将数据库查询中的行获取到 CodeIgniter 中的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43126603/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com