Ik krijg het niet voor elkaar! Ik heb in mijn database een tabel Personen met wat persoonsgegevens en een uniek nummer. Nu heb ik al dat als er helemaal geen ?callid=<nummer> in de url staat dat ie een error geeft, maar ik wil nu ook dat als er een verkeerd nummer in de url staat, dat ie een error weergeeft (andere dan zonder nummer). Dit probeer ik op deze manier:
<?php

if (!empty($_GET['callid'])) {

	$callExistsQuery = "SELECT * FROM personen WHERE CallID = ".$_GET['callid'];
	$result1 = $mysqli->query($callExistsQuery);
	while($row1 = $result1->fetch_array()) {
	
		if($row1['CallID'] == $_GET['callid']) {
			echo "bestaat";
		} else {
			echo "bestaat niet";
		}
	}
} else {
	echo "<table><tr><th>Het call nummer in de URL ontbreekt.</th></tr></table>";
}

?>


Het resultaat wat ik hiermee krijg, is dat met een correct nummer geeft hij "bestaat" weer, maar met een foutief nummer echo'd hij helemaal niks.

Is er iets wat ik verkeerd doe of over het hoofd zie?
Als er niks is gevonden zal de while() ook niet lopen. Kijk eens naar num_rows en affected_rows.
- SanThe - op 09/03/2011 10:44:52

Als er niks is gevonden zal de while() ook niet lopen. Kijk eens naar num_rows en affected_rows.

Thnx! Ik had de oplossing gewoon voor me neus liggen, paar regels verderop pas ik namelijk precies hetzelfde toe.
Je script is wel bagger,

* is een wildcard , Selecteer wat je wilt.
MySQL injection mogelijk [php]mysql_real_escape_string[/php]
!empty is overbodig gebruik isset
gebruik fetch_assoc ipv fetch_array
Jordi kroon op 09/03/2011 11:21:51

Je script is wel bagger,

* is een wildcard , Selecteer wat je wilt.
MySQL injection mogelijk [php]mysql_real_escape_string[/php]
!empty is overbodig gebruik isset
gebruik fetch_assoc ipv fetch_array

Heb wat aanpassigen gedaan n.a.v. de dingen die jij stelde. Dank je wel :)

Ik was al op de hoogte dat ik het nog moest beveiligen tegen SQL Injection maar was er nog niet toe gekomen. Wist ook eigenlijk niet dat dat kon gebeuren d.m.v. $_GET[''], dacht eigenlijk alleen d.m.v. text velden.

Wat is eigenlijk precies het verschil tussen fetch_array en fetch_assoc? Ze doen toch eigenlijk hetzelfde?

Ik gebruik !empty omdat met isset er een PHP error wordt weergegeven als ik ?call= invul zonder nummer. Met !empty gebeurd dit niet.

Reageren