[PHP-DB] delte stmt problem with joins

2003-08-29 Thread Merlin
Hi there,

I would like to delete a row inside a mysql table. To find out which 
rows are affected the system has to check another table.

Somehow I am doing this statement wrong and I cant find out why. Does 
anybody see the error?
Thanx for any help on that.

DELETE
FROM $table1 pi
RIGHT  JOIN $table2 AS p ON p.ID = pi.product_id
WHERE p.owner_id =  '15173'
Merlin

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


Re: [PHP-DB] delte stmt problem with joins

2003-08-29 Thread John W. Holmes
Merlin wrote:

I would like to delete a row inside a mysql table. To find out which 
rows are affected the system has to check another table.

Somehow I am doing this statement wrong and I cant find out why. Does 
anybody see the error?
Thanx for any help on that.

DELETE
FROM $table1 pi
RIGHT  JOIN $table2 AS p ON p.ID = pi.product_id
WHERE p.owner_id =  '15173'
1. You're using MySQL 4, right?

2. Echo your query to the screen when you're having trouble. Ensure you 
really have a value for $table1, $table2, etc.

3. Try this format:

DELETE $table1 FROM $table1 pi, $table2 p WHERE p.ID = pi.product_id AND 
p.owner_id = '15173'

4. If you're still having trouble, what does mysql_error() say after you 
execute the query?

--
---John Holmes...
Amazon Wishlist: www.amazon.com/o/registry/3BEXC84AB3A5E/

php|architect: The Magazine for PHP Professionals  www.phparch.com

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


Re: [PHP-DB] delte stmt problem with joins

2003-08-29 Thread Merlin
Hi John,

I am using MySQL 3.x
My guess is that it does not support a query like this. If so, I am sure 
that there is a workaround I just dont know about. The values $tablex 
are present.

This is the error msg:

 Error:  1064 You have an error in your SQL syntax near 'pi INNER JOIN 
table2 AS p ON p.ID = pi.product_id WHERE p.ow' at line 3

Merlin



John W. Holmes wrote:

Merlin wrote:

I would like to delete a row inside a mysql table. To find out which 
rows are affected the system has to check another table.

Somehow I am doing this statement wrong and I cant find out why. Does 
anybody see the error?
Thanx for any help on that.

DELETE
FROM $table1 pi
RIGHT  JOIN $table2 AS p ON p.ID = pi.product_id
WHERE p.owner_id =  '15173'


1. You're using MySQL 4, right?

2. Echo your query to the screen when you're having trouble. Ensure you 
really have a value for $table1, $table2, etc.

3. Try this format:

DELETE $table1 FROM $table1 pi, $table2 p WHERE p.ID = pi.product_id AND 
p.owner_id = '15173'

4. If you're still having trouble, what does mysql_error() say after you 
execute the query?

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


Re: [PHP-DB] delte stmt problem with joins

2003-08-29 Thread John W. Holmes
Merlin wrote:

Hi John,

I am using MySQL 3.x
My guess is that it does not support a query like this. If so, I am sure 
that there is a workaround I just dont know about. The values $tablex 
are present.

This is the error msg:

 Error:  1064 You have an error in your SQL syntax near 'pi INNER JOIN 
table2 AS p ON p.ID = pi.product_id WHERE p.ow' at line 3


There is no work around. You must first select the numbers you want to 
match, store them in PHP, then issue a delete query using those numbers 
from php.

--
---John Holmes...
Amazon Wishlist: www.amazon.com/o/registry/3BEXC84AB3A5E/

php|architect: The Magazine for PHP Professionals  www.phparch.com

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


RE: [PHP-DB] delte stmt problem with joins

2003-08-29 Thread Hutchins, Richard
   Error:  1064 You have an error in your SQL syntax near 'pi 
 INNER JOIN 
  table2 AS p ON p.ID = pi.product_id WHERE p.ow' at line 3

pi() is a mysql function that returns the value of pi. Could the pi in your
query be causing some confusion? It seems that MySql may be expecting pi()
not pi.productID.

Just a guess since it's a syntax error.

 -Original Message-
 From: John W. Holmes [mailto:[EMAIL PROTECTED]
 Sent: Friday, August 29, 2003 9:55 AM
 To: [EMAIL PROTECTED]
 Cc: [EMAIL PROTECTED]
 Subject: Re: [PHP-DB] delte stmt problem with joins
 
 
 Merlin wrote:
 
  Hi John,
  
  I am using MySQL 3.x
  My guess is that it does not support a query like this. If 
 so, I am sure 
  that there is a workaround I just dont know about. The 
 values $tablex 
  are present.
  
  This is the error msg:
  
   Error:  1064 You have an error in your SQL syntax near 'pi 
 INNER JOIN 
  table2 AS p ON p.ID = pi.product_id WHERE p.ow' at line 3
 
 
 There is no work around. You must first select the numbers 
 you want to 
 match, store them in PHP, then issue a delete query using 
 those numbers 
 from php.
 
 -- 
 ---John Holmes...
 
 Amazon Wishlist: www.amazon.com/o/registry/3BEXC84AB3A5E/
 
 php|architect: The Magazine for PHP Professionals – www.phparch.com
 
 -- 
 PHP Database Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php
 

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