Script geeft 'error 500'

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jurrien van Dijk

Jurrien van Dijk

23/11/2016 10:27:38
Quote Anchor link
Ik probeer een functie in elkaar te knutselen maar ik krijg telkens een 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 -
 
PHP hulp

PHP hulp

27/11/2024 05:47:40
 
- Ariën  -
Beheerder

- Ariën -

23/11/2016 10:32:09
Quote Anchor link
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.
 
Jurrien van Dijk

Jurrien van Dijk

23/11/2016 10:34:50
Quote Anchor link
- 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.


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.
 
- SanThe -

- SanThe -

23/11/2016 10:50:11
Quote Anchor link
- 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");
 
Ivo P

Ivo P

23/11/2016 11:18:32
Quote Anchor link
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
 
Jurrien van Dijk

Jurrien van Dijk

23/11/2016 11:51:32
Quote Anchor link
Ivo P op 23/11/2016 11:18:32:
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)
 
Ivo P

Ivo P

23/11/2016 12:02:13
Quote Anchor link
probeer ook een foutmelding te vinden.

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
 
Thomas van den Heuvel

Thomas van den Heuvel

23/11/2016 14:09:45
Quote Anchor link
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.
 
Jurrien van Dijk

Jurrien van Dijk

23/11/2016 14:21:02
Quote Anchor link
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.


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!!
 
Ozzie PHP

Ozzie PHP

23/11/2016 14:25:06
Quote Anchor link
>> 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 ;-)
 
Jurrien van Dijk

Jurrien van Dijk

23/11/2016 14:30:45
Quote Anchor link
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 ;-)


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.
 
Thomas van den Heuvel

Thomas van den Heuvel

23/11/2016 15:02:29
Quote Anchor link
"Error 500 na uitvoeren query"
?
 
Ivo P

Ivo P

23/11/2016 15:16:26
Quote Anchor link
het is wel handig om in je scripts variabelen voor 1 doel te gebruiken:

$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.
 
- Ariën  -
Beheerder

- Ariën -

23/11/2016 15:55:06
Quote Anchor link
Genoeg over de titel. Ik heb deze voor deze ene keer zelf aangepast ;-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.