Script geeft 'error 500'
function Check_SA() {
$check = $sql->query("select count(*) as \"count\" from `users_accounts`");
$check = $check->fetch_array();
return $check['count'];
}
- de query geeft een assoc array, dus ik moet eerst een niveau dieper.
- daar vraag ik de rij op die ik 'count' genoemd heb.
Ik wil de value van de count opvragen middels:
echo Check_SA();
Wat doe ik verkeerd?
- Ariën -:
Titel aangepast van 'Script werkt niet' naar 'Script geeft 'error 500'.
Gewijzigd op 23/11/2016 15:54:32 door - Ariën -
Verder horen die quotes niet om je count en is count ook een gereserveerd woord.
- Ariën - op 23/11/2016 10:32:09:
Zou je allereerst een betere titel willen gebruiken bij je topic, die je vraag of probleemstelling aangeeft?
Verder horen die quotes niet om je count en is count ook een gereserveerd woord.
Verder horen die quotes niet om je count en is count ook een gereserveerd woord.
Ik zou niet weten wat voor andere titel ik moet kiezen.
Ik heb een script, dat werkt niet.. (suggesties zijn welkom uiteraard)
Het aanpassen van \"count\" naar \"bla\" maakt niets uit in dit geval.
- Ariën - op 23/11/2016 10:32:09:
Verder horen die quotes niet om je count en is count ook een gereserveerd woord.
$check = $sql->query("select count(*) as aantal from users_accounts");
Jurrien van Dijk op 23/11/2016 10:34:50:
Ik zou niet weten wat voor andere titel ik moet kiezen.
Vergelijk: je staat bij de fietsenwinkel en vertelt dat je een probleem met je fiets hebt.
Ja dat vermoedde de fietsenmaker al: als het een probleem met je pc was, had je waarschijnlijk bij de computerreparateur aan de balie gestaan.
Op PHPhulp zoekt men hulp mbt PHPscripts. Meestal omdat ze niet werken, danwel foutief werken.
De titel is dan net zo'n open deur als zo'n opmerking bij de fietsenshop
Ivo P op 23/11/2016 11:18:32:
Vergelijk: je staat bij de fietsenwinkel en vertelt dat je een probleem met je fiets hebt.
Ja dat vermoedde de fietsenmaker al: als het een probleem met je pc was, had je waarschijnlijk bij de computerreparateur aan de balie gestaan.
Op PHPhulp zoekt men hulp mbt PHPscripts. Meestal omdat ze niet werken, danwel foutief werken.
De titel is dan net zo'n open deur als zo'n opmerking bij de fietsenshop
Jurrien van Dijk op 23/11/2016 10:34:50:
Ik zou niet weten wat voor andere titel ik moet kiezen.
Vergelijk: je staat bij de fietsenwinkel en vertelt dat je een probleem met je fiets hebt.
Ja dat vermoedde de fietsenmaker al: als het een probleem met je pc was, had je waarschijnlijk bij de computerreparateur aan de balie gestaan.
Op PHPhulp zoekt men hulp mbt PHPscripts. Meestal omdat ze niet werken, danwel foutief werken.
De titel is dan net zo'n open deur als zo'n opmerking bij de fietsenshop
Yay, sarcasm.. Ik snap ook wel dat dat de intentie was van de opmerking..
Ik vind het alleen even lastig om een betere titel te bedenken.
Ik zou in ieder geval wat hulp willen bij het script zelf..
Als ik de SQL opdracht los trek uit de functie krijg ik gewoon resultaat.
Ik vermoed dat er iets niet werkt in de aanroep en verwerking van de functie, maar dat vind ik even lastig te interpreteren. (graag hulp daar bij i.p.v. opmerkingen over mijn titel)
Error 500 krijg je van de webserver.
PHP kan zelf ook een gedetailleerde foutmelding geven. (parse error, fatal error etc)
http://wiki.pfz.nl/troubleshooter/#stap-1-regel-een-foutmelding
En wat @IvoP zegt.
Het "probleem" is hier (wederom) niet het probleem, maar het ontbreken van (debug)informatie en/of de kennis om bij deze informatie te komen. Je kijkt als het ware naar een black box en constateert dat er iets misloopt... Maak je eigen code meer "verbose". Vooral als deze nog in ontwikkeling is.
Thomas van den Heuvel op 23/11/2016 14:09:45:
Wild guess: $sql is niet bekend binnen de scope van de functie Check_SA().
En wat @IvoP zegt.
Het "probleem" is hier (wederom) niet het probleem, maar het ontbreken van (debug)informatie en/of de kennis om bij deze informatie te komen. Je kijkt als het ware naar een black box en constateert dat er iets misloopt... Maak je eigen code meer "verbose". Vooral als deze nog in ontwikkeling is.
En wat @IvoP zegt.
Het "probleem" is hier (wederom) niet het probleem, maar het ontbreken van (debug)informatie en/of de kennis om bij deze informatie te komen. Je kijkt als het ware naar een black box en constateert dat er iets misloopt... Maak je eigen code meer "verbose". Vooral als deze nog in ontwikkeling is.
Awesome, dat was mijn missing link..
Ik heb mijn SQL connectie op een andere plek gedefiniëerd als $sql, nu ik het meegeef kan ik de informatie uitlezen.
Functie:
function Check_SA($sql) {
$check = $sql->query("select count(*) as \"count\" from `users_accounts`");
$check = $check->fetch_array();
return $check['count'];
}
Aanroep:
echo Check_SA($sql);
Thanks!!
Voor de volgende keer ...
Wat is er aan de hand?
Antwoord: de database query werkt niet
Titel: database query werkt niet
Het is soms makkelijker dan je denkt ;-)
Ozzie PHP op 23/11/2016 14:25:06:
>> Ik vind het alleen even lastig om een betere titel te bedenken.
Voor de volgende keer ...
Wat is er aan de hand?
Antwoord: de database query werkt niet
Titel: database query werkt niet
Het is soms makkelijker dan je denkt ;-)
Voor de volgende keer ...
Wat is er aan de hand?
Antwoord: de database query werkt niet
Titel: database query werkt niet
Het is soms makkelijker dan je denkt ;-)
Best logisch, alleen de db query had ik vooraf al los getest en die gaf mij de info die ik zocht. Pas wanneer het in een functie kwam kreeg ik een 500 error, wat mij niet de info gaf om een dergelijke titel te maken.
Voor mij was de informatie die ik kreeg te algemeen, dus kon ik er ook niet veel meer van maken.
?
$check = $sql->query("select count(*) as \"count\" from `users_accounts`");
$check = $check->fetch_array();
return $check['count'];
Eerst is $check een object. Kennelijk komt er uit $sql->query() een object, want je gebruikt een regel verder
$check->functie();
maar op die regel stop je het resultaat van die aanroep ook weer in $check.
En dat is een array, wat blijkt uit het gebruik van $check['count']
(geen enkele check trouwens of eea. wel lukt)
Nu staat dit op 3 regels, maar als je dit toepast op een script van 500 regels, dan zal iemand (jij?) mogelijk over 3 maanden snel de code doorlopen voor een aanpassing.
Die ziet $check = $sql->query() en denkt: hé die $check gebruik ik 20 regels lager dan om nog even het aantal vonden records van de query te bepalen. (los van dat dit al een count-query is)
Maar als dan in je script nog 4 keer iets anders in $check gestopt is, dan is maar de vraag wat het op die plek is.
Genoeg over de titel. Ik heb deze voor deze ene keer zelf aangepast ;-)