我正在使用Codeigniter通过将Array传递给模态来查询结果列表。但是返回结果始终为空。我检查并尝试了一些在stackoverflow上发现的方法,但均无效果。
例如。 数组 ( [0] => 12 [1] => 13 )
我的代码:
<?php
ini_set('max_execution_time', 0);
ini_set('memory_limit','2048M');
defined('BASEPATH') OR exit('No direct script access allowed');
class Sms_model extends CI_Model
{
//Return Selected Customer ID
public function getCustomerInfo($data){
$ids = array();
foreach ($data['customerID'] as $id)
{
$ids[] = $id;
}
print_r($ids);
$this->db->select('Handphone');
$this->db->from('tblcustomer');
$this->db->where_in('CustomerID', $ids);
$query = $this->db->get();
if ($query->num_rows() == 1) {
return $query->result();
}
else {
return false;
}
}
}
我在查询中做错了什么? 请指导我,谢谢
答案 0 :(得分:-1)
您的问题在您的IF语句中,应为> 0而不是==1。您也可以删除foreach。
像这样:
<?php
ini_set('max_execution_time', 0);
ini_set('memory_limit','2048M');
defined('BASEPATH') OR exit('No direct script access allowed');
class Sms_model extends CI_Model
{
//Return Selected Customer ID
public function getCustomerInfo($data){
$this->db->select('Handphone');
$this->db->from('tblcustomer');
$this->db->where_in('CustomerID', $data['customerID']);
$query = $this->db->get();
if ($query->num_rows() > 1) {
return $query->result();
} else {
return false;
}
}
}
答案 1 :(得分:-1)
问题出在您的 $ this-> db 对象调用中。您可以按照以下代码获取结果。检查数据库中是否存在您的列和表
<?php
ini_set('max_execution_time', 0);
ini_set('memory_limit','2048M');
defined('BASEPATH') OR exit('No direct script access allowed');
class Sms_model extends CI_Model
{
//Return Selected Customer ID
public function getCustomerInfo($data){
//print_r($ids);
//give value for $ids variable
$this->db->select('Handphone');
$this->db->where('CustomerID', $ids);
$query = $this->db->get('tblcustomer');
if ($query ->result_id->num_rows > 0) {
return $query->result_object();
}
else {
return false;
}
}
}