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

Genoeg over de titel. Ik heb deze voor deze ene keer zelf aangepast ;-)

Reageren