我想从我的订单号相等的数据库中获取所有记录,但是当我尝试使用where条件然后显示null值时,请告诉我该怎么做。
型号代码:
public function get_products()
{
$this->load->database();
$this->db->select('product');
$this->db->select('sku');
$this->db->select('price');
$this->db->select('qty');
$this->db->select('tax');
$this->db->select('total');
$this->db->from('data');
$this->db->where('order',$this->input->post('order'));
$query = $this->db->get();
if($result = $query->result_array())
{
return $result;
}
else
{
return false;
}
}
答案 0 :(得分:1)
试试此代码
<强> MODEL:强>
function single_user_data($user_id)
{
$this->db->select('');
$this->db->from('user');
$this->db->where('user_id',$user_id);
$query=$this->db->get()->result();
return $query;
}
<强> CONTROLLER 强>
public function user_data_get()
{
$user_id=$this->input->post('id');
$data['user_data']=$this->User_Model->single_user_data($user_id);
$this->load->view('edit_user.php',$data);
}
答案 1 :(得分:0)
我真的不喜欢CodeIgniter的魔术功能来帮助数据库脚本,因为我无法真正控制正在发生的事情。但如果这可能有所帮助,我正在为您编写一个原始的MySQL查询。这可能会更快一些(原因我稍后会解释)
class Test extends CI_Controller
{
//.... some functions come here
public function user_data_get()
{
$this->load->model('Get_user_model');
$user_data = $this->Get_user_model->get_product($this->input->post('order'));
}
}
class Get_user_model extends CI_Model
{
//..some code comes here
public function get_product($order)
{
$order = $this->db->escape($order); // Prevention against SQL injection
$query = $this->db->query("
SELECT `product`, `sku`, `price`, `qty`, `tax`, `total` FROM `data`
WHERE `order` = " . $order . " LIMIT 1");
}
}
然后可以从$query
变量获取模型中的结果(它将以对象形式)。要以数组形式获取结果,您可以运行$data = $query->row_array()
将结果作为数组推送到变量$data
。
如果结果可能返回超过1行,那么您应该取出LIMIT 1
表达式并使用foreach
循环来获得结果。
希望它能回答你的问题