Checking this:
<?php
$rsSEARCH = new WA_MySQLi_RS("rsSEARCH",$csdbmysqli,0);
$rsSEARCH->setQuery("SELECT POCheadstones.HeadstoneID, POCheadstones.MapRefID, POCheadstones.DGFHSID, POCheadstones.Inscription, POCheadstones.StoneDescription FROM POCheadstones WHERE POCheadstones.MapRefID = ? OR POCheadstones.Inscription LIKE ? OR POCheadstones.DGFHSID = ? OR POCheadstones.StoneDescription LIKE ? ORDER BY POCheadstones.MapRefID ASC");
$rsSEARCH->bindParam("i", "".(isset($_POST['adminsearch'])?$_POST['adminsearch']:"") ."", "-1"); //WAQB_Param1
$rsSEARCH->bindParam("c", "".(isset($_POST['adminsearch'])?$_POST['adminsearch']:"") ."", "-1"); //WAQB_Param2
$rsSEARCH->bindParam("i", "".(isset($_POST['adminsearch'])?$_POST['adminsearch']:"") ."", "-1"); //WAQB_Param3
$rsSEARCH->bindParam("c", "".(isset($_POST['adminsearch'])?$_POST['adminsearch']:"") ."", "-1"); //WAQB_Param4
$rsSEARCH->execute();
?>
Despite TRIPLE checking that we were using the word LIKE instead of =, MySQLi Query Builder is changing Integer fields back to =.
So, to prove we weren't going mad, we re-created it and, lo and behold, MySQLi Query Builder just auto-changes the Integer fields back to =.
Extremely frustrating.
We have also changed the recordset to:
<?php
if (isset($_POST["pocsearchBTN"]) || isset($_POST["pocsearchBTN_x"])) {
$rsSEARCH = new WA_MySQLi_RS("rsSEARCH",$csdbmysqli,0);
$rsSEARCH->setQuery("SELECT POCheadstones.HeadstoneID, POCheadstones.MapRefID, POCheadstones.DGFHSID, POCheadstones.Inscription, POCheadstones.StoneDescription FROM POCheadstones WHERE POCheadstones.MapRefID LIKE ? OR POCheadstones.Inscription LIKE ? OR POCheadstones.DGFHSID LIKE ? OR POCheadstones.StoneDescription LIKE ? ORDER BY POCheadstones.MapRefID ASC");
$rsSEARCH->bindParam("c", "".(isset($_POST['adminsearch'])?$_POST['adminsearch']:"") ."", "-1"); //WAQB_Param1
$rsSEARCH->bindParam("c", "".(isset($_POST['adminsearch'])?$_POST['adminsearch']:"") ."", "-1"); //WAQB_Param2
$rsSEARCH->bindParam("c", "".(isset($_POST['adminsearch'])?$_POST['adminsearch']:"") ."", "-1"); //WAQB_Param3
$rsSEARCH->bindParam("c", "".(isset($_POST['adminsearch'])?$_POST['adminsearch']:"") ."", "-1"); //WAQB_Param4
$rsSEARCH->execute();
}
?>
Because, no matter what we do, the recordset is returning values despite us not having submitted the search form. No idea what's happening there.
NJ