FOK!forum / Digital Corner / [PHP/MySQL] mysq_num_rows probleem.
MrDoegewoonvrijdag 15 oktober 2004 @ 16:37
Ik heb een probleem, ik heb een script gemaakt waarbij je eerst een nr moet intypen en dan het juiste record uit de database krijgt, maar ik wil er ook een melding in dat als het nummer niet voor komt de gebruiker een waarschuwing krijgt.

Ik heb nu dit

[code]
$sql = "SELECT leerling_id,naam,tussen,achternaam FROM leerling WHERE leerling_id = '$leerling_id'";
$result = mysql_query($sql) or die (mysql_error());
$telling = mysql_num_rows($result) or die (mysql_error());;
$object = mysql_fetch_object($result) or die (mysql_error());
echo ("$telling");

if ($telling != '1') {
echo ("$telling test");
}
[/code]

Zodra de record niet bestaad is $telling dus geen 1, en zou ie in die if lus moeten gaan, maar zodra een nummer niet bestaad slaat ie dat geheel over en $telling is geen 0.

Wat doe ik fout?

Bij bestaande nummers werkt dit script gewoon goed trouwens, dus die code staat er niet bij.
Heliospanvrijdag 15 oktober 2004 @ 16:38
if(!$result) echo "Blablablabla";

wellicht?
_Endymion_vrijdag 15 oktober 2004 @ 16:41
of

if( $telling > 0 )

[ Bericht 13% gewijzigd door _Endymion_ op 15-10-2004 16:44:57 (Oeps) ]
EvilColevrijdag 15 oktober 2004 @ 16:41
quote:
Op vrijdag 15 oktober 2004 16:38 schreef Heliospan het volgende:
if(!$result) echo "Blablablabla";

wellicht?
zou inderdaad zo moeten zijn... anders komt hij niet bij die if
Jumpvrijdag 15 oktober 2004 @ 16:43
$result kijkt gewoon als de query geslaagd is, mysql_num_rows geeft het aantal rijen in de 'query' terug

dus ook al bestaat die record niet, query is geslaagd dus $result = 1
EvilColevrijdag 15 oktober 2004 @ 16:44
quote:
Op vrijdag 15 oktober 2004 16:43 schreef Jump het volgende:
$result kijkt toch gewoon als de query geslaagd is ? niet het aantal rijen
als er ook maar iets terug gegeven wordt is het result groter dan 0
MrDoegewoonvrijdag 15 oktober 2004 @ 16:44
Beide gegeven methoden werken niet

Hij gaat gewoon die if lus niet in .

Ik denk dat ik maar de if en else omdraai. Dus dat ie de if ingaat als $telling 1 is. En bij else de foutmelding geeft
Jumpvrijdag 15 oktober 2004 @ 16:46
Stukje code dat ik meestal gebruik:



Deze code knipbaar maken? Klik hier


en dan gaat ie die if in als er 1 resultaaat is


ooh, je vergelijkt je aanral tijen met een string, doe die ' eens weg rond je 1
MrDoegewoonvrijdag 15 oktober 2004 @ 16:48
quote:
Op vrijdag 15 oktober 2004 16:46 schreef Jump het volgende:

ooh, je vergelijkt je aanral tijen met een string, doe die ' eens weg rond je 1
Had ik al geprobeerd en met " er omheen maar niks werkt
Sandervrijdag 15 oktober 2004 @ 16:49
quote:
Op vrijdag 15 oktober 2004 16:37 schreef MrDoegewoon het volgende:
Ik heb een probleem, ik heb een script gemaakt waarbij je eerst een nr moet intypen en dan het juiste record uit de database krijgt, maar ik wil er ook een melding in dat als het nummer niet voor komt de gebruiker een waarschuwing krijgt.

Ik heb nu dit

[code]
/code]

Zodra de record niet bestaad is $telling dus geen 1, en zou ie in die if lus moeten gaan, maar zodra een nummer niet bestaad slaat ie dat geheel over en $telling is geen 0.

Wat doe ik fout?

Bij bestaande nummers werkt dit script gewoon goed trouwens, dus die code staat er niet bij.
Eerst maar eens je code optimizen:


Deze code knipbaar maken? Klik hier

En dan zou ie het zelfs al moeten doen.
MrDoegewoonvrijdag 15 oktober 2004 @ 16:51
quote:
Op vrijdag 15 oktober 2004 16:49 schreef Slarioux het volgende:

[..]

Eerst maar eens je code optimizen:

[afbeelding]
Deze code knipbaar maken? Klik hier

En dan zou ie het zelfs al moeten doen.
Oke, thnx zal het later proberen heb nu de if en else al omgekeerd.
Sandervrijdag 15 oktober 2004 @ 16:52
quote:
Op vrijdag 15 oktober 2004 16:51 schreef MrDoegewoon het volgende:

[..]

Oke, thnx zal het later proberen heb nu de if en else al omgekeerd.
Lees eens deze tips door, het gaat over "goede PHP scrijven":

http://www.melp.nl/site/index/15/.html
MrDoegewoonvrijdag 15 oktober 2004 @ 16:56
quote:
Op vrijdag 15 oktober 2004 16:52 schreef Slarioux het volgende:

[..]

Lees eens deze tips door, het gaat over "goede PHP scrijven":

http://www.melp.nl/site/index/15/.html
Ej thnx. Op school kreeg ik ook altijd al minpunten voor het niet netjes opmaken van de code en foutjes met ' en ".
MrDoegewoonvrijdag 15 oktober 2004 @ 17:08
Hmmz het werkt nog niet, ook niet met de code van Slarioux.. Foutmeldingen staan aan enzv enzv. Het lijkt wel of ie zodra het nummer niet bestaad het scirpt stopt...

Edit:
Script stop idd, zodra een een mysql_num_rows wordt gedaan met een niet bestaande waarde...

Edit2:

Opgelost.
Het verwijderen van or die (mysql_error()) achter mysql_num_rows gaf de oplossing

[ Bericht 25% gewijzigd door MrDoegewoon op 15-10-2004 17:29:37 ]