Ik heb een ontzettend raar en vervelend stukje code dat me al een hele tijd dwars zit nl:
(ps code is een stukje gestript tot de essentie van het probleem.)
Het is namelijk zo dat wanneer ik deze code uitvoer ik de eerste keer wel output krijg van mijn stukje test code maar vanaf het moment dat ik deze een 2de keer herhaal binnen de foreach (of for loop is al hetzelfde) krijg ik geen output maar een fijne error nl:
"home pagina omschrijving (dit is dus van het eerste stukje code)
(vanaf hier van het 2de stukje code)
SQL: SELECT * FROM pages WHERE id = '1';
Fatal error: Uncaught exception 'modelException' with message 'Error in SELECT' in /var/www/vhosts/url.net/httpdocs/classes/model.class.php:114 Stack trace: #0 /var/www/vhosts/url.net/httpdocs/models/pages.mdl.php(41): model->getData() #1 /var/www/vhosts/url.net/httpdocs/controllers/admin/pages.php(35): pages->getRows(0, 10) #2 /var/www/vhosts/url.net/httpdocs/classes/router.class.php(50): controller_pages->index() #3 /var/www/vhosts/url.net/httpdocs/index.php(38): router->delegate() #4 {main} thrown in /var/www/vhosts/url.net/httpdocs/classes/model.class.php on line 114"
Iemand een idee? ik weet dat het een erg open vraag is op deze manier maar weet echt niet waar ik kan gaan zoeken omdat het de eerste keer buiten de forloop wel goed gaat.
De werking van getData is dat hij kijkt welke properties zijn ingevuld, vervolgens stelt het ding een query op en haalt het resultaat op.
Met dit resultaat worden de rest van de properties gevuld.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| public function getRows($p_iFrom, $p_iLimit) { //TEST CODE $page = new pages(); $page -> id = 1; $page -> getData(); echo $page -> description; //EINDE TEST CODE $sSQL = 'SELECT id FROM pages LIMIT '.$p_iLimit.' OFFSET '.$p_iFrom; //execute query $aRows=registry::get('db')->query($sSQL); foreach ($aRows as $row) { $page = new pages(); $page -> id = 1; $page -> getData(); echo $page -> description; //$this->m_aPages[] = $page; } } |
(ps code is een stukje gestript tot de essentie van het probleem.)
Het is namelijk zo dat wanneer ik deze code uitvoer ik de eerste keer wel output krijg van mijn stukje test code maar vanaf het moment dat ik deze een 2de keer herhaal binnen de foreach (of for loop is al hetzelfde) krijg ik geen output maar een fijne error nl:
"home pagina omschrijving (dit is dus van het eerste stukje code)
(vanaf hier van het 2de stukje code)
SQL: SELECT * FROM pages WHERE id = '1';
Fatal error: Uncaught exception 'modelException' with message 'Error in SELECT' in /var/www/vhosts/url.net/httpdocs/classes/model.class.php:114 Stack trace: #0 /var/www/vhosts/url.net/httpdocs/models/pages.mdl.php(41): model->getData() #1 /var/www/vhosts/url.net/httpdocs/controllers/admin/pages.php(35): pages->getRows(0, 10) #2 /var/www/vhosts/url.net/httpdocs/classes/router.class.php(50): controller_pages->index() #3 /var/www/vhosts/url.net/httpdocs/index.php(38): router->delegate() #4 {main} thrown in /var/www/vhosts/url.net/httpdocs/classes/model.class.php on line 114"
Iemand een idee? ik weet dat het een erg open vraag is op deze manier maar weet echt niet waar ik kan gaan zoeken omdat het de eerste keer buiten de forloop wel goed gaat.
De werking van getData is dat hij kijkt welke properties zijn ingevuld, vervolgens stelt het ding een query op en haalt het resultaat op.
Met dit resultaat worden de rest van de properties gevuld.
Modelbouw - Alles over modelbouw, van RC tot diorama