Php Codeigniter中的活动记录错误
我有一个使用活动记录的select查询,我使用的是codeigniter 2.1,我的代码中有以下错误Php Codeigniter中的活动记录错误,php,codeigniter,activerecord,Php,Codeigniter,Activerecord,我有一个使用活动记录的select查询,我使用的是codeigniter 2.1,我的代码中有以下错误 `A PHP Error was encountered Severity: Warning Message: Invalid argument supplied for foreach() Filename: database/DB_active_rec.php Line Number: 82 ` 这是我的控制器代码 <?php if ( ! define
`A PHP Error was encountered
Severity: Warning
Message: Invalid argument supplied for foreach()
Filename: database/DB_active_rec.php
Line Number: 82
`
这是我的控制器代码
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Carbonrates extends CI_Controller {
public function __construct()
{
parent::__construct();
//Load Dependencies
}
// List all your items
public function index()
{
$this->load->model('ratesmodel');
$electricity_provider = $this->input->post('providerNo');
$carbon_rate = $this->ratesmodel->carbon($electricity_provider);
var_dump($carbon_rate);
return false;
}
我在谷歌上搜索了可能的答案,但还没有找到任何答案。您的$where是一个数组,请尝试:
function carbon($provider) {
$this->db->select($provider);
$where = array('username' => $this->session->userdata['logged_in']['username']);
if($provider == 1 ) {
$this->db->select('Winter_Night_Time1');
$this->db->from('carbon_rates');
$this->db->where($where);
return $this->db->get()->result();
}
i、 e.从您的where
调用中获取“username”参数
编辑*
DB_Active_rec.php上的第82行是select。因此,请检查您的第一个选择调用$provider,并确保这是逗号分隔的字符串或表名数组。。。其他任何东西都不行。i、 e.如果($provider==1)
您尝试调用$this->db->select(1)时会出现此错误代码>
尝试:
实际上我发现了错误,$where变量是一个不允许的数组。这就是我在顶部写的…:)
function carbon($provider) {
$this->db->select($provider);
$where = array('username' => $this->session->userdata['logged_in']['username']);
if($provider == 1 ) {
$this->db->select('Winter_Night_Time1');
$this->db->from('carbon_rates');
$this->db->where($where);
return $this->db->get()->result();
}
function carbon($provider) {
if($provider == 1 ) {
$this->db->select('Winter_Night_Time1');
$this->db->from('carbon_rates');
$this->db->where('username', $where);
return $this->db->get()->result();
}
$this->db->select($provider);
$where = array('username' => $this->session->userdata['logged_in']['username']);