Ich habe das folgende Problem - Ich bin eine E-Commerce-Website, die Promotionen für einen bestimmten Zeitraum hat. Wenn Zeit vergeht, ändert sich die entsprechende Datenbank active
Wert auf 0. Wenn ich nach Promotions suche, ist die erste Bedingung, dass active=1
, aber in einigen Fällen ignoriert MySQL es. HierMySQL SQL ignorieren WHERE Zustand
ist ein Beispiel für mein letztes Problem:
$productPromotion = $db->getResults('*', TABLE_PROMO, "active = '1'
AND (discount_subject = 'all_orders'
OR discount_subject_product = ".$values['product']['id'].")
OR (discount_subject = 'category'
AND discount_subject_category = ".$categoryId[0] . ") ORDER BY id ASC");
$db->getResult
ist eine benutzerdefinierte Funktion, die 3 Parameter nimmt - Was, Tafel- und Wo.
Das Problem ist, dass es Promotions zurückgibt, die bereits abgelaufen sind und aktiv = 0 haben. Wo ist das Problem mit meinem SQL?
MySQL zu verhindern, kann nicht Ihre PHP-Code sehen. Was ist die eigentliche SQL-Abfrage, die Sie generieren? –