2011-10-04 2 views
4

Le select suivant retourne un résultat vide, bien qu'il shoudn't:TYPO3: exec_SELECTquery avec clause where

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

$xml_import_id est réglé. Et cela fonctionne si je retire la clause where ..

Merci


Je ne comprends toujours pas pourquoi ça ne fonctionne pas .. Une solution simple proposée par un 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) { 
     .... 
    }  
} 
+0

Que voulez-vous dire exactement par « ne fonctionne pas pour moi »? Jeu de résultats vide? Message d'erreur? –

+0

Renvoie un jeu de résultats vide. – Astrip

+0

Juste pour être mis à jour: Est-ce que certaines de ces réponses fonctionnent pour vous? – Mateng

Répondre

2

Tout d'abord, assurez-vous que ce qui suit est situé dans localconf.php:

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

Ensuite, essayez

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

résultat est le résultat de la requête dans l'interface. Vous pouvez ensuite l'exécuter dans MySQL pour le débogage.

+0

J'ai vu 't3lib_div :: debug();' utilisé une seule fois dans un module backend, mais dans le frontend tout ce que j'ai c'est: '| debug | '. – Astrip

+0

Ensuite, la valeur que vous avez passée à debug est vide. Notez que la fonction que j'ai suggérée est '$ GLOBALS ['TYPO3_DB'] -> SELECTquery' (sans le préfixe' exec_'). Essayez aussi, pour un test, 't3lib_div :: debug ('Tester la fonction de débogage');' – Mateng

+0

Le résultat du débogage était: SELECT * FROM tx_xmluploader_xml_import_tree WHERE xml_import_id = 9. J'ai exécuté la requête dans MySQL et cela a fonctionné. Quel pourrait être le problème alors? :(Merci .. – Astrip

2

a) assurez-vous de xml_import_id $ a effectivement une valeur (celle qui est dans la base de données ainsi)

b) Essayez ceci:

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

processus Comment avez-vous le résultat? À quoi ressemble votre valeur $ xml_import_id attendue?

cu Roman

+0

$ xml_import_id vaut 9, comme dans ma base de données J'ai essayé 'print_r (mysql_fetch_assoc ($ res))' - il n'imprime rien – Astrip

+0

J'ai essayé '" xml_import_id = '". $ Xml_import_id."' " 'aussi, mais $ res est toujours vide. – Astrip