Php Drupal在查询时取出$sign
我试图查询一个列名为timestamp$sec的表。这是我正在尝试连接的第三方数据库。所以我不能改变他们的设计。当我直接在mysql中运行这个查询时,它工作得很好Php Drupal在查询时取出$sign,php,mysql,drupal-7,Php,Mysql,Drupal 7,我试图查询一个列名为timestamp$sec的表。这是我正在尝试连接的第三方数据库。所以我不能改变他们的设计。当我直接在mysql中运行这个查询时,它工作得很好 SELECT timestamp$sec from table A 但当我从drupal站点内部查询它时。这让我犯了这个错误 PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'timestampsec' in
SELECT timestamp$sec from table A
但当我从drupal站点内部查询它时。这让我犯了这个错误
PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'timestampsec' in 'field list'
请注意,timestamp$sec现在已转换为timestamp sec,因此出现此错误消息
这个错误来自于这个
PagerDefault->execute() (line 79 of C:\project\includes\pager.inc)
为什么drupal要更改我的列名?我如何修复它
显示实际的第79行。可能您正在执行->exec(“blahblah$sec”),并且$sec被视为一个php变量。最有可能->exec(“blahblah\$sec”)会解决此问题。 # 不是真的,因为那样它将是时间戳
sec
不再是字符串和
#
我不认为$fieldname字符是允许的
但是,请尝试“在孔周围”字段
时间戳$sec
,可能会这样做。显示实际的第79行。可能您正在执行exec(“blahblah$sec”),并且$sec被视为一个php变量。最有可能的->exec(“blahblah\$sec”)
会解决这个问题。$query=db_select('tableA','tA')->extend('PagerDefault')$查询->字段('TA',数组('Power','timestamp$sec')$结果=$query->limit(25)->execute()代码>好吧,试试那里的时间戳\$sec
,甚至\$sec
看看这是否有帮助。不知道drupal在构建查询时在内部做什么。@MarcB单引号不解析PHP变量。此外,“sec”组件仍出现在错误消息中。drupal适配器似乎删除了一个美元符号。@MarcB如果我直接查询它,它就会工作。我已经试过了。这是由drupal内部引起的。