[PHP-DB] SQL syntax

2013-01-15 Thread Karl DeSaulniers

Hello 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 database `orderstatus` field 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



Re: [PHP-DB] SQL syntax

2013-01-15 Thread Amit Tandon
SELECT orderid
FROM ORDERS_TABLE
WHERE orderstatus IN ( 'Cancelled', 'New', 'Denied',
'Expired' , 'Failed' , 'Pending' , 'Refunded' , 'Reversed' , 'Under Review'
, 'Voided') AND orderdate  '.mysqli_real_escape_string($
yesterday);

Another option would be to use either  of these functions

   - 
Find-in-sethttp://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set.
   This is useful if your data type is SET/ENUM type
   - 
Fieldhttp://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_field


On Tue, Jan 15, 2013 at 2:59 PM, Karl DeSaulniers k...@designdrumm.comwrote:

 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).');





regds
amit

The difference between fiction and reality? Fiction has to make sense.


Re: [PHP-DB] SQL syntax

2013-01-15 Thread Karl DeSaulniers


On Jan 15, 2013, at 5:25 AM, Amit Tandon wrote:


SELECT orderid
   FROM ORDERS_TABLE
   WHERE orderstatus IN ( 'Cancelled', 'New', 'Denied',
'Expired' , 'Failed' , 'Pending' , 'Refunded' , 'Reversed' , 'Under  
Review'

, 'Voided') AND orderdate  '.mysqli_real_escape_string($
yesterday);

Another option would be to use either  of these functions

  - Find-in-sethttp://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set 
.

  This is useful if your data type is SET/ENUM type
  - Fieldhttp://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_field 




On Tue, Jan 15, 2013 at 2:59 PM, Karl DeSaulniers k...@designdrumm.com 
wrote:



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).');






regds
amit

The difference between fiction and reality? Fiction has to make  
sense.



I am wanting Cancelled to be without a date check, but thanks for the  
suggestion.

I will try the IN option.

Thank you.

Best,

Karl DeSaulniers
Design Drumm
http://designdrumm.com


--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DB] sql syntax error

2003-01-29 Thread 1LT John W. Holmes

- Original Message -
From: Addison Ellis [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, January 28, 2003 10:46 PM
Subject: [PHP-DB] sql syntax error


 hello,
 i can not pinpoint this. your time and help is very much
 appreciated. best, addison

 Error:
   id=, HTTP_POST_VARS=Array, key=, value=, category=, subcategory=,
 [EMAIL PROTECTED]
 Error in query: insert into ads values

(year,make,model,color,mileage,condition,price,other,contact,next_,,created)
 values ('',,NOW()),Error:You have an error in your SQL syntax near
 'created) values ('',,NOW())' at line 1

 Code:
 else
   {
  foreach($HTTP_POST_VARS as $column_name = $column_value)

  $column_names .= $column_name . ',';
  $column_values .= '$column_values',;

  $query = insert into ads values ($column_names,created)
values ($column_values,NOW());
  $result = mysql_query($query)
 or die (Error in query: $query,Error:
.mysql_error());
  }

Try this:

foreach($HTTP_POST_VARS as $column_name = $column_value)
{
  $column_names .= $column_name . ',';
  $column_values .= '$column_value',;
 }
  $query = insert into ads values ($column_names created)
values ($column_values NOW());
  $result = mysql_query($query)
 or die (Error in query: $query,Error:
.mysql_error());

I still don't think it's going to work for you. do you really have a column
called 'next_' in your table? It's probably the button you pressed to submit
the form, which is in HTTP_POST_VARS, but I don't see a reason it would be
in your table...

---John Holmes...


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php