Ik word zo langzamerhand knettergek. Ik krijg het volgende maar niet voor elkaar:
ik doe een query op een tabel en die geeft terug 0 of >0 records. In beide gevallen doe ik iets.
Code ziet er zo uit:
$sql=mysqli_connect('localhost','root','xx','yy');
$result = mysqli_query($sql,"SELECT distinct Type, Gender FROM xxx WHERE Gender='Dames' AND Category = '" . $Var . "' AND Type<>'' ORDER BY Type");
$recs = mysqli_num_rows($result); //tijdelijk
$row = mysqli_fetch_array($result);
if ($recs == 0) {
hier doe ik A....
}
else
{
hier doe ik B....
}
}
$sql->close();
Bij 1 of meer records wordt er gewoon B, echter als er 0 records zijn wordt A
nooit uitgevoerd. Wat is er fout aan de "if"??
Hulp is welkom, Ger.
@Aar Ik krijg keurig een set terug met 1 of meerdere records als aan de voorwaarden voldaan is.
Is er NIET aan de voorwaarden voldaan dan krijg ik 0 records terug. (Query dus geslaagd).
In dat laatste geval moet dus A worden uitgevoerd en dat gebeurt niet. Het script slaat dan als het
ware de "if" over en doet NIET de else. Dat is wat me zo verbaast !
Het lijkt me, dat door het slagen van de query de foutafhandeling is beeindigd.
Eigenlijk wordt het nog gekker:
Als ik de if verander in
if ($recs > 0) {
(dus zou uitgevoerd moeten worden bij 1 of meer records) en als ik dat
test voert het script ook weer de "if" niet uit. Er is iets fout in de
syntax, maar ik wil graag weten wat !
[size=xsmall]Toevoeging op 14/07/2014 15:27:06:[/size]
- SanThe - op 14/07/2014 15:14:42
Wat geeft echo $recs; als je dat op regel 7 zet?
Geeft 0 records, als aan de voorwaarden NIET wordt voldaan en
geeft x records, als aan de voorwaarden WEL wordt voldaan.
Dus precies hetzelfde !
@StefanWM:
Klopt, bij 0 wordt geen B gedaan. En wat er fout zit in dat stukje bij A is
mij een raadsel: het volgende staat er, maar een gewone "echo" wordt ook
helemaal niet getoond bij 0.