Door
Jasper Geelen
op 09-03-2011 10:36
gewijzigd op 09-03-2011 10:39
1.877 views
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?
* 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
* 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.