Zet even een ENTER na elke punt-komma. We willen graag helpen met je code, zolang het maar geen spaghetti-vormen gaat aannemen. Het gebruik van TAB bij if/while statements is ook niet verboden. ;)
Ik heb de code even wat overzichtelijker gemaakt, en de query even opgedeeld in een los deel, zodat je makkelijker kan debuggen.
<?php
$resultx = mysqli_query($link, $sqlx);
var_dump($resultx);
if ($resultx) {
$arrx = [];
while ($objx = mysqli_fetch_object($resultx)) {
$arrx[] = $objx;
}
} else {
// Query mislukt, debug verder met mysqli_error($link);
}
?>
Ja sorry ik weet het, nogmaals ik heb deze code niet zelf gemaakt.
Maar toch bedankt dat je de moeite voor mij neemt om mij toch te helpen.
Ik heb jou stuk code er nu ingeplakt en krijg nu dit: // object(mysqli_result)#3 (5) { ["current_field"]=> int(0) ["field_count"]=> int(8) ["lengths"]=> NULL ["num_rows"]=> int(0) ["type"]=> int(0) }
en dit: Notice: Trying to get property 'start_date' of non-object in D:\xampp\htdocs\website\foodpoint\print.php on line 155
<?php
$resultx = mysqli_query($link, $sqlx);
var_dump($resultx);
if ($resultx) {
$arrx = [];
while ($objx = mysqli_fetch_object($resultx)) {
$arrx[] = $objx;
}
} else {
// Query mislukt, debug verder met mysqli_error($link);
}
?>
Een mogelijk probleem met deze code is dat je $arrx alleen initialiseert indien de query geen fouten opleverde. Dit zou geen problemen opleveren als je de normale flow van je programma afbreekt indien er een queryfout optreedt, maar anders loopt je code gewoon door en is $arrx ongedefinieerd.
Je weet dus nu nog steeds niet of:
- de query fouten opleverde, maar je var_dump suggereert dat dit goed gaat omdat je een object terugkrijgt in plaats van false
- de query resultaten heeft of niet, maar het lijkt erop dat je niet kunt itereren over items van $arrx; het feit dat dit geprobeerd wordt suggereert dat $arrx niet leeg is en dus dat er resultaten zijn
Deze twee zaken spreken elkaar ogenschijnlijk tegen.
Het lijkt mij zaak dat je uitsluitsel krijgt over wat er nu aan de hand is.
Misschien is het handiger om als volgt te werk te gaan.
Zet allereerst het melden + weergeven van fouten aan door de volgende code toe te voegen aan het begin van je PHP-bestand:
Vervolgens is het zaak om gewoon de eerste melding aan te pakken, deze op te lossen, en zo door alle foutmeldingen van het begin naar het einde heen te lopen.
Ik zie geen andere mogelijkheid dan deze stapsgewijze aanpak, want het is nogal lastig om het anders op afstand voor jou te debuggen.