php查询中变量列名的语法

6fe3ivhb  于 2023-03-28  发布在  PHP
关注(0)|答案(1)|浏览(125)

我正在尝试将列的名称作为变量传递给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'
      ");

我已经确认了变量被正确地传递了。'$customer'的语法工作得很好,所以仅仅将$product变量作为列名传递是很麻烦的。
我使用PHP与codeigniter.任何建议欢迎.
一如既往的感谢,

j9per5c4

j9per5c41#

没有必要连接一个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');

参见活动记录

相关问题