1

我正在尝试将列的名称作为变量传递给 PHP 数据库查询。

硬编码语法完美运行,并且是: select max([257612cr]) as price from Price_TekwaniPrice where customeraccount='DAY001'

当我传递变量时,我得到错误trying to get property ofnon object。我的语法是:

        $query = $this->db->query("
select max(['$product']) as price from Price where customeraccount='$customer'
      ");

我也试过:

        $query = $this->db->query("
select max(".$product.") as price from Price where customeraccount='$customer'
      ");

我已经确认变量被正确传递。for 的语法'$customer'完美,因此仅将$product变量作为列名传递是很麻烦的。

我正在使用带有codeigniter的php。欢迎任何建议。

一如既往地感谢,

4

1 回答 1

1

已经打开双引号时无需连接 php 变量试试这个

 $query = $this->db->query("
select max([$product]) as price from Price where customeraccount='$customer'
      ");

或者

$query = $this->db->query("
select max($product) as price from Price where customeraccount='$customer'
      ");

虽然关于你得到的错误是由于我认为你的数据库驱动程序没有加载首先尝试加载数据库

$this->load->database('default', TRUE);

使用 CI 的活动记录的最佳方式,您可以这样做

$this->db->select_max($product);
$this->db->where('customeraccount', $customer); 
$query = $this->db->get('Price');

活动记录

于 2013-08-09T21:53:44.463 回答