Re: Re: SQL syntax
| From: | Karl DeSaulniers | Date: | Tue, 15 Jan 2013 12:54:10 +0000 |
| Subject: | Re: Re: SQL syntax | ||
| References: | 1 2 3 4 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-48646@lists.php.net to get a copy of this message | ||
True, I guess it never hurts to try. Busy making orders and hadn't tested just yet.
I just wanted a professional opinion on if the syntax was common to use, mostly.
Didn't want to get a Jr PHP job and use it and have everyone looking at me sideways.. :P
Thanks all,
Best,
Karl
On Jan 15, 2013, at 6:47 AM, Bastien wrote:
Try It And See Bastien Koert On 2013-01-15, at 7:43 AM, Karl DeSaulniers <karl@designdrumm.com> wrote:Karl DeSaulniers Design Drumm http://designdrumm.comOn Jan 15, 2013, at 5:31 AM, David Robley wrote:-- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.phpKarl DeSaulniers wrote:Thanks for the suggestion. Your the second to offer the IN as a solution. I will try that out. I currently have enough tables and don't want to create a separate table for the status. BTW what is TIAS... havent seen that one.. lol Best, Karl DeSaulniers Design Drumm http://designdrumm.com --PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.phpHello Everyone, Hope your 2013 is treating you well. Quick question and apologies if it is a stupid question. Is this a viable syntax? $sql = "SELECT orderid FROM ORDERS_TABLE WHERE orderstatus = 'Cancelled' OR (orderstatus = ('New' OR 'Denied' OR 'Expired' OR 'Failed' OR 'Pending' OR 'Refunded' OR 'Reversed' OR 'Under Review' OR 'Voided') AND orderdate < '".mysqli_real_escape_string($yesterday)."')"; Namely the orderstatus = (a whole bunch of options). In my databaseThe best way to check if your SQL query is valid is to feed it to mysql which will return an error if the syntax is incorrect :-) So TIAS! Although it looks wrong to me. But you might try the IN operator - something like OR (orderstatus IN ('New', 'Denied', 'Expired', 'Failed', 'Pending', 'Refunded', 'Reversed', 'Under Review', 'Voided') AND orderdate < '".mysqli_real_escape_string($yesterday)."') Personally I would have used a lookup table for the order status. --Cheers David Robley A cynic smells flowers and looks for the casket. --PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.phporderstatusfield is an enum() list btw. Or is there a better way to check multiple options against an enum inside your select statement? Reason I am doing this is to avoid having to do... $sql = "SELECT orderid FROM ORDERS_TABLE WHERE orderstatus = 'Cancelled' OR (orderstatus = 'New' AND orderdate < '".mysqli_real_escape_string($yesterday)."') OR (orderstatus = 'Denied' AND orderdate < '".mysqli_real_escape_string($yesterday)."') OR (orderstatus = 'Expired' AND orderdate < '".mysqli_real_escape_string($yesterday)."') ... etc"; TIA, Karl DeSaulniers Design Drumm http://designdrumm.com