Closed GoogleCodeExporter closed 8 years ago
Op de '{{{' en '}}}' moet je niet letten. Ik dacht dat deze ervoor zouden
zorgen dat de code hier mooier weergegeven zou worden, maar dit is dus
blijkbaar niet het geval.
Original comment by wens.ced...@gmail.com
on 16 Aug 2014 at 4:49
Hier is een screenshot van de code, zo is het misschien iets beter te lezen.
Original comment by wens.ced...@gmail.com
on 17 Aug 2014 at 8:23
Attachments:
Cedric,
Probeer brute force debugging toe te voegen.
Laat het update statement afdrukken naar scherm (na substitutie van de
variabelen)
en kijk of het telkens goed gaat, en er netjes 5 verschillende statements zijn.
Vervolgens kijk de syntax van FOREACH na op lijn 171.
Het lijkt erop dat je code niet omkan met alle mogelijke returns uit de query
(leeg / etc).
Dit is een quick analyse zonder veel tryout :-)
Original comment by leander....@gmail.com
on 18 Aug 2014 at 7:25
Ik heb het geprobeerd, en alle queries werden juist afgedrukt. Dus daar zit het
probleem niet; Maar ik heb nog eens iets anders geprobeerd, en dit gaf een
vreemder resultaat: Ik heb de query niet meer laten uitvoeren in functie van de
reviewer, maar altyd voor reviewer 1. En hier kreeg ik hetzelfde resultaat als
de vorige keer: de eerste 2 queries geven een error en een random 3de. Maar
voor de rest werken al de andere queries wel (hoewel het identiek dezelfde
queries zijn, voor identiek dezelfde waarden.
"SELECT ID, Reviewee, Score FROM candidate_poll WHERE Ok_reviewee=1 AND
Reviewer=1 ORDER BY Score DESC LIMIT 5"
Original comment by wens.ced...@gmail.com
on 18 Aug 2014 at 12:06
Attachments:
Het gaat toch vooral ook om de warning ...
http://stackoverflow.com/questions/2630013/invalid-argument-supplied-for-foreach
Als je php bijstand nodig hebt kan je zowel Johan als Kristof (naast jou) snel
even laten meekijken.
De code die ik snel vond is er eentje om de warning te laten verdwijnen,
maar is het nog steeds zo dat je onverwacht resultaat terugkrijgt uit de
databank,
ie zijn er queries die geen rijen opleveren, terwijl je dat wel verwacht?
Het punt van de brute force debug is ook dat je ze eventueel allemaal uitvoert,
desnoods met een count er omheen zodat je snel ziet dat er geen lege resultsets
zijn, thans toch niet waar je dat niet verwacht.
Je kan:
select count(1) from (select...gegenereerde-query1)
union all
select count(1) from (select...gegenereerde-query2)
union all
union all
select count(1) from (select...gegenereerde-query3)
union all
...
en dit in een script (command line ) uitvoeren via mysql.
Het connect commando heb je wel ergens nog staan hier in de wiki:
https://code.google.com/p/threesixtieweb/wiki/MySQLCommandLine
Zelf heb ik in tussentijd nog geen tijd gevonden om jouw code te debuggen.
Original comment by leander....@gmail.com
on 18 Aug 2014 at 10:43
We (=Johan) hebben het probleem kunnen oplossen door de foreach($users as
$user) die boven het stuk code stond, te laten stoppen, en dan voor dit stuk
code een nieuwe foreach te laten beginnen. Hierdoor verdween het probleem en
verkregen we hetzelfde resultaat.
Original comment by wens.ced...@gmail.com
on 19 Aug 2014 at 3:24
Original issue reported on code.google.com by
wens.ced...@gmail.com
on 16 Aug 2014 at 4:48Attachments: