Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Drupal在查询时取出$sign_Php_Mysql_Drupal 7 - Fatal编程技术网

Php Drupal在查询时取出$sign

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

我试图查询一个列名为timestamp$sec的表。这是我正在尝试连接的第三方数据库。所以我不能改变他们的设计。当我直接在mysql中运行这个查询时,它工作得很好

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内部引起的。