PHP IF statement i MySQL
Hej Eksperter.Jeg forsøger at formulere et MySQL statement i PHP. Som en del af det MySQL skal der være en PHP "IF" som skal tilføje lidt ekstra MySQL hvis en betingelse er opfyldt.
(div)
function konti_ReadAll($konto, $fradato, $tildato, $sogeord) {
$ar = array();
$con = Con2DB();
$query = "SELECT pdato, ptekst, pbelb, pkontonr, plbnr
FROM poster
WHERE '$fradato' <= pdato
AND '$tildato' >= pdato
AND pkontonr = '$konto'";
IF ($sogeord <> '') {
$query.= " AND CHARINDEX(" . $sogeord . ", ptekst) ";
};
$query.= " ORDER BY pdato";
$result = mysqli_query($con, $query);
$tllr = 0;
while ($poster = mysqli_fetch_assoc($result)) {
$tllr = $tllr + $poster['pbelb'];
$ar[] = array($poster['pdato'], $poster['ptekst'], $poster['pbelb'], $tllr, $poster['plbnr'], $poster['pkontonr']);
}
mysqli_close($con);
return $ar;
}
(/div)
Det virker fint så længe IF sætningen ikke bliver TRUE. Dvs. så længe $sogeord er blank så kører det.
Hvis $sogeord er udfyldt får jeg en fejl der hedder:
(div)
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in /volume1/web/ny.php on line 32
(/div)
Til info er linje 32 der hvor der står:
(div)
while ($poster = mysqli_fetch_assoc($result)) {
(/div)
Hvad gør jeg galt?