Forum Moderators: coopster
CREATE TABLE meds (
medid int NOT NULL auto_increment,
medname varchar(30),
qty int unsigned,
pilltype char(30),
priceperpill float(5,2) unsigned,
price float(5,2) unsigned,
PRIMARY KEY (medid)
);
CREATE TABLE meds_site (
medid char(3),
sitename char(30),
price float(5,2) unsigned,
PRIMARY KEY (medid,sitename)
);
My PHP code goes something like this:
$sitename = $_GET['sitename'];
$query = "SELECT * from meds where medid NOT IN (SELECT medid from meds_site where sitename='$sitename')";
$price_schedules = mysql_query($query);
$i = 0;
while($myrow = mysql_fetch_array($price_schedules)){
// Code to output my results here
}
When this script is executed, i am not getting any results when i should be.
And when i run this query directly from the SQL server i get the following error message:
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresp
onds to your MySQL server version for the right syntax to use near 'SELECT medid
from meds_site where
sitename='xyz.com')
Also, to get errors showing up in your scripts during development, you should turn on all error_reporting() [php.net].
$query = "
SELECT
*
FROM meds
LEFT JOIN meds_site
ON (meds.medid = meds_site.medid)
WHERE meds_site.medid IS NULL
AND sitename='$sitename'
";
...I think I have that right...? Test it ;)
Rewriting Subqueries as Joins for Earlier MySQL Versions [dev.mysql.com]