TYPO3: exec_SELECTquery с предложением where - PullRequest
4 голосов
/ 04 октября 2011

Следующий 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 ]

2 голосов
/ 05 октября 2011

а) убедитесь, что $ xml_import_id действительно имеет значение (тоже, что и в базе данных)

б) Попробуйте:

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

Как вы обрабатываете результат?Как выглядит ожидаемое значение $ xml_import_id?

cu Roman

2 голосов
/ 05 октября 2011

Сначала убедитесь, что в 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 для отладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...