Notice: Undefined variable: arrx in D:\xampp\htdocs\website\foodpoint\print.php on line 147
Dar zal iedereen blij mee zijn.
- Ariën - op 08/09/2020 15:22:54:
Dan kan het geen kwaad om eens de stofdoek erdoor heen te halen ;-).
Dar zal iedereen blij mee zijn.
Dar zal iedereen blij mee zijn.
haha ja dat klopt, ik ga daar aan het einde eens een keer langs. ik probeer nu om een check box te veranderen naar een button, misschien dat jij daar een oplossing voor hebt?
Hierbij helpt het (enorm) wanneer je vertrouwd bent met functiedefinities, returnwaarden en wat deze returnwaarden betekenen. PHP.net heeft zéér uitgebreide documentatie die je hierbij kan assisteren.
Zo staat bij mysqli_query() onder het kopje Return Values onder andere het volgende:
Quote:
Returns FALSE on failure.
Je zou dus in één stap direct na kunnen gaan of de query goed ging of niet door direct na de regel met $resultx = mysqli_query(...) het volgende te zetten:
Als hier false uitkomt weet je meteen dat het probleem in de query zit.
Maar, misschien is het zoiets simpels als $arrx versus $arrX.
PHP is nog altijd case sensitive bij mijn weten.
Gewijzigd op 08/09/2020 17:05:26 door Thomas van den Heuvel
En ook als ik dat stukje php code toevoeg gebeurt er niks.
Gewijzigd op 09/09/2020 09:19:39 door marvin groothuis
Vergeet de $ niet voor resultx.
- Ariën - op 09/09/2020 09:27:30:
Vergeet de $ niet voor resultx.
Helpt alsnog niet.
Dan doe je iets fout, want je zou echt iets moeten zien.
- Ariën - op 09/09/2020 09:44:18:
Dan doe je iets fout, want je zou echt iets moeten zien.
Ik denk dat ik het dan tussen het verkeerde stukje plak.
if ($resultx = mysqli_query($link, $sqlx)) {
$arrx = [];while ($objx = mysqli_fetch_object($resultx)) {
$arrx[] = $objx;
}
Als ik het goed begrijp moet het hier tussen toch?
Ik heb de code even wat overzichtelijker gemaakt, en de query even opgedeeld in een los deel, zodat je makkelijker kan debuggen.
Code (php)
Gewijzigd op 09/09/2020 10:09:39 door - Ariën -
- Ariën - op 09/09/2020 10:07:43:
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.
Ik heb de code even wat overzichtelijker gemaakt, en de query even opgedeeld in een los deel, zodat je makkelijker kan debuggen.
Code (php)
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
Echo eens $sqlx, en je weet meer over je query. Check ook de mysqli_error die ik gecomment heb.
Je kan een mooie melding tonen door na je mysqli_query met mysqli_num_rows te kijken of je aantal resultaten gelijk zijn aan 0 ( == 0 ).
Gewijzigd op 09/09/2020 10:28:48 door - Ariën -
- Ariën - op 09/09/2020 10:25:33:
Dan levert je query geen resultaten op.
Echo eens $sqlx, en je weet meer over je query. Check ook de mysqli_error die ik gecomment heb.
Je kan een mooie melding tonen door na je mysqli_query met mysqli_num_rows te kijken of je aantal resultaten gelijk zijn aan 0 ( == 0 ).
Echo eens $sqlx, en je weet meer over je query. Check ook de mysqli_error die ik gecomment heb.
Je kan een mooie melding tonen door na je mysqli_query met mysqli_num_rows te kijken of je aantal resultaten gelijk zijn aan 0 ( == 0 ).
Hiermee kom ik er ook niet uit.
http://php.net/mysqli_num_rows
Check ook je query
En check je mysqli_error
Check ook je query
En check je mysqli_error
Gewijzigd op 09/09/2020 10:52:11 door - Ariën -
Code (php)
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:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
error_reporting(E_ALL);
ini_set('display_startup_errors', true);
ini_set('display_errors', 'stdout');
?>
error_reporting(E_ALL);
ini_set('display_startup_errors', true);
ini_set('display_errors', 'stdout');
?>
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.