versuche gerade einen eigenen task zu erstellen.
leider macht er die select abfrage nicht.
class PayTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask implements \TYPO3\CMS\Scheduler\ProgressProviderInterface {
public function execute() {
$starttime = strtotime(date('Y-m-d H:i:s'));
$endtime = strtotime(date('Y-m-d H:i:s',strtotime('-50 minutes')));
$where = 'capture_date BETWEEN '.$endtime.' AND '.$starttime.' AND cancellation = 0';
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('uid,capture_date,caputre_unique', 'fe_users', $where,'','','');
;
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
}
leider kommt bei dieser ausgabe kein ergebniss. wenn ich das direkt in phpmyadmin mache bekomme ich eine ausgabe.
was läuft hier falsch ?
gruß michi
Die exectute()-Methode muss immer ein true oder false zurückliefern. Je nachdem ob der Task erfolgreich war oder nicht.
hallo getit,
das habe ich schon aber halt nicht mitkopiert. am ende steht schon
return true;
Das hauptproblem ist ja das er das select nicht auflöst. die variable $res ist immer leer.
hallo Julian,
ja das habe ich schonmal gemacht.
debug_lastBuiltQuery hab ich schon getestet aber das ist leer.
$res ist leer
o.O Das kann eigentlich nicht sein. Am Ende des Aufrufs von exec_SELECTquery() landet man bei der \mysqli::query() von PHP. Diese Methode hat als Rückgabe:
@return mysqli_result|boolean For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries <b>mysqli_query</b> will return a <b>mysqli_result</b> object. For other successful queries <b>mysqli_query</b> will return true and false on failure.
D.h. es gibt keinen Fall, wo $res leer ("", NULL, 0) sein kann. Es müsste ein mysqli_result-Objekt oder false zurückkommen.
Hallo Julian,
habe mit das exec_SELECTquery() mal debugt aber halt ohne exec_ hab den fehler dann gefunden.
Jetzt läuft es und es kommt auch wasn an.
Danke