TYPO3:exec_SELECTquery with where子句

时间:2011-10-04 19:59:02

标签: database select typo3

以下select返回一个空的结果集,尽管它不是:

$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'tx_xmluploader_xml_import_tree', 'xml_import_id='.$xml_import_id);

$xml_import_id已设置。如果我删除where子句,它就可以工作..

由于


我仍然不明白为什么它不起作用。一个简单的解决方法由一个coleague建议:

// select all from the db     
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'tx_xmluploader_xml_import_tree');

while( $entry = $GLOBALS['TYPO3_DB']->sql_fetch_assoc() )
{  
   if( $entry['xml_import_id'] == $xml_import_id ) {
      ....
   }    
}

2 个答案:

答案 0 :(得分:2)

首先,确保在localconf.php中设置了以下内容:

$TYPO3_CONF_VARS['SYS']['sqlDebug'] = '1';   
$TYPO3_CONF_VARS['FE']['debug'] = '1';  

然后尝试

$res = $GLOBALS['TYPO3_DB']->SELECTquery('*', 'tx_xmluploader_xml_import_tree', 'xml_import_id='.$xml_import_id);
t3lib_div::debug($res);

结果是前端中查询的输出。然后,您可以在MySQL中执行它以进行调试。

答案 1 :(得分:2)

a)确保$ xml_import_id实际上有一个值(也是数据库中的值)

b)试试这个:

$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
   '*',
   'tx_xmluploader_xml_import_tree',
   "xml_import_id='".$xml_import_id."'"
);

您如何处理结果? 您期望的$ xml_import_id值如何?

铜 罗马