Ik laat een listing van mij database zien op het scherm.
Daarin zit een zoekfunctie op code op waypoint of legger.
Als ik bij de code "GC100D" invul krijg ik 2 records (dat is perfect)
Als ik bij de andere 2 iets ingeef krijg ik altijd de melding :
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\demo\test_listing.php on line 96
Lijn 96 is : while($row = mysqli_fetch_array($result))
Waarom bij code niet en bij de andere wel ?
Hier een stuk van mijn code :
if(isset($_POST['submit'])) {
$by_code=$_POST['by_code'];
$by_oms=$_POST['by_oms'];
$by_leg=$_POST['by_leg'];
if($by_code !="") {
$result = mysqli_query($con,"SELECT * FROM database_bel WHERE Code LIKE '%$by_code%' LIMIT $offset, $total_records_per_page");
}
if($by_oms !="") {
$result = mysqli_query($con,"SELECT * FROM database_bel WHERE Waypoint naam LIKE '%$by_oms%'LIMIT $offset, $total_records_per_page");
}
if($by_leg !="") {
$result = mysqli_query($con,"SELECT * FROM database_bel WHERE Owner Name LIKE '%$by_leg%'LIMIT $offset, $total_records_per_page");
}
}
Kan iemand mij zeggen waarom het juist loopt bij $by_code en bij de twee andere niet.
Dat is het niet, heb er een spatie aan toegevoegd maar krijg nog steeds dezelfde fout.
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\demo\test_listing.php on line 96
Wat Adoptive zegt, die veldnamen kunnen echt niet. Je kunt ze tussen backticks of brackets zetten, maar beter hernoem je die velden gewoon.
Code is een 'reserved word', vandaar die error. Dus ook deze hernoemen of backticks (afgeraden!)
Daarnaast is if(isset($_POST['submit'])) geen manier om te controleren of een formulier is gepost, en is het kopiëren van variabelen onnodig als je er verder niks mee doet.
En variabelen buiten quotes.
Moet het niet else if zijn ipv if? Anders overschrijft die de $result als er aan meerdere POST waarden wordt voldaan.
Beetje foutafhandeling en veiligheid zou handig zijn.
waarbij dat streepje van Ramon dan een underscore is: _ en niet een - .
Want daarmee zou het een "min" zijn, waardoor je met Waypoint-naam dan de betekenis krijgt "waarde uit de kolom waypoint minus de waarde uit de kolom naam".
Want bedenk je vast dat je nog wel eens hier en daar een query gaat typen waar je de `` gaat vergeten.
En dan mag hopen dat je geen andere betekenis aan je query geeft.