Im Erstellen von detaillierten Produktsuche.Ich überprüft, dass meine Variablen korrekt gebucht werden, aber die Abfrage nichts finden. Meine Frage ist:MySQL: Abfrage mit mehreren Bedingungen
Was könnte in dieser Abfrage falsch sein und was könnte die beste Lösung für die detaillierte Suche in SQL sein?
<?php
if (
isset($_POST["productName"]) || isset($_POST["searchCategory"]) ||
isset($_POST["searchManufacturer"]) || isset($_POST["costFrom"]) ||
isset($_POST["costTo"])
){
$stmt=$user_home->runQuery("SELECT* FROM Products
WHERE (productTitle='$_POST[productName]' OR '$_POST[productName]' IS NULL)
AND (category='$_POST[searchCategory]' OR '$_POST[searchCategory]' IS NULL)
AND (manufacturer='$_POST[searchManufacturer]' OR '$_POST[searchManufacturer]' IS NULL)
");
echo $stmt->rowCount();
}
Haben Sie versucht, zu 'var_dump()' '$ _POST'or' $ stmt' oder 'errorinfo()' oder was bedeutet 'runQuery()' aussieht? – Chay22
Ich fand, dass die Abfrage nur funktioniert, wenn alle Parameter gepostet werden. Ich muss es neu entwerfen, dass die Abfrage die Ergebnisse mit 1 oder mehreren gebuchten Parametern durchsuchen konnte. – Darius92
Wenn die Variable nicht gebucht, ist es gleich NULL oder nicht in Sql gesetzt? – Darius92