gpt4 book ai didi

php - 如何将多个查询结果传递给新查询

转载 作者:行者123 更新时间:2023-11-30 23:39:45 24 4
gpt4 key购买 nike

我已经成功地查询了一个表以获取查询另一个表所需的信息(如果您能看到更好的方法,我将不胜感激!)

我的问题是:如何让第一个查询返回多个值并让第二个查询返回多个结果。如您所见,我将查询一的返回结果插入查询二“msg_id =?”(我使用“$datas”来填充“?”)但是如果我的查询一的结果有多个值,那么这将如何工作?

还有我怎样才能让它从一个查询中得到多个结果?目前,如果 mysql 中有多个值,它只会获取它读取的第一个值。

我的MODEL代码如下:

function check() {
$this->db->select('msgto_message');
$this->db->from('msgto');
$this->db->where('msgto_display', 'y');
$this->db->where('msgto_recipient', '1');

$w = $this->db->get();

if ($w->num_rows() > 0) {
$rowe = $w->row_array();

$datas = $rowe['msgto_message'];
}

$sql = "SELECT msg_content FROM msg WHERE msg_id = ?";

$data = $this->db->query($sql, $datas) or die(mysql_error());

if ($data->num_rows() > 0) {
foreach($data->result_array() as $row) {
$data = $row;
}

return $data;
}

}

我的CONTROLLER代码如下:

function index() {
$this->load->model('data_model');
$data['rows'] = $this->data_model->check();

$this->load->view('home', $data);
}

感谢任何帮助过我的人,我非常感激!

最佳答案

您可能会发现数据库连接在这里很有用。虽然我不完全确定您要在这里做什么(尤其是在那个 foreach 循环中!),但像这样的事情可能会让您朝着更有效的方向前进:

function check() {
$this->db->select('msg.msg_content');
$this->db->from('msgto');
$this->db->join('msg', 'msgto.msgto_message = msg.msg_id');
$this->db->where('msgto.msgto_display', 'y');
$this->db->where('msgto.msgto_recipient', '1');

$data = $this->db->get();

if ($data->num_rows() > 0) {
return $data->result_array();
}
}

这要求数据库根据匹配 msg_idmsgto_messagemsgmsgto 表连接在一起,并且可以在 msgto 上使用 WHERE 条件,同时从 msg 返回结果。

关于php - 如何将多个查询结果传递给新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4396327/

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