Have you actually print out $sql before its execution then copied-and-pasted it to the MYSQL command line. Or are you assuming that because you typed it into the MYSQL command line, then it must be correct?
-----Original Message----- From: Ken Kinder [mailto:[EMAIL PROTECTED]] Sent: Thursday, January 03, 2002 12:08 PM To: [EMAIL PROTECTED] Subject: [PHP-DB] nysql_query confusing selects for inserts? This is extremely annoying. For some reason, mysql_query seems to be confusing my left join for an insert or update. The reason being, that the query runs fine, but the result isn't usable. Here's the example code. Table definitions are below if that helps. $err = 0; // $result = mysql_query("select * from lead"); $result = mysql_query($sql) || $err = 1; if ($err || !$result) { print "<h3>SQL Error</h3>\n"; print "<pre>" . mysql_error() . "</pre>\n"; } else { print "<h3>Result Sample</h3>\n"; print "<table border=0 cellpadding=2 cellspacing=2 class=entry>\n"; $c = 0; while ($row = mysql_fetch_array($result)) { As you can see, I both check for $result being untrue, and I use the || operator to catch execution failures. $result seems to be simply equal to 1. On the last line, I get: Warning: Supplied argument is not a valid MySQL result resource in /home/ken/Projects/leadmgr/query_leads_step1.php on line 95 But the query itself doesn't seem to fall, or the print "<h3>SQL Error</h3>" would print. The query I'm trying is: select lead.lead_id, lead.firstname, lead.lastname, lead_support_1.plusfour from lead left join lead_support_1 on lead.lead_support_id = lead_support_1_id which works fine on the MySQL command line. Here are the create definitions: CREATE TABLE `lead` ( `lead_id` int(11) NOT NULL auto_increment, `lead_import_id` int(11) NOT NULL default '0', `lead_source_id` int(11) NOT NULL default '0', `firstname` varchar(50) default NULL, `lastname` varchar(50) default NULL, `phone` varchar(35) default NULL, `fax` varchar(35) default NULL, `alt_phone` varchar(35) default NULL, `address1` varchar(100) default NULL, `address2` varchar(100) default NULL, `city` varchar(100) default NULL, `state` char(2) default NULL, `zip` varchar(25) default NULL, `country` varchar(50) default NULL, `email` varchar(255) default NULL, `other_unique_num` int(11) default NULL, `lead_field_set_id` int(11) default NULL, `lead_support_id` int(11) default NULL, PRIMARY KEY (`lead_id`), UNIQUE KEY `other_unique_num` (`other_unique_num`,`lead_source_id`) ) TYPE=MyISAM Now for lead_support_1: CREATE TABLE `lead_support_1` ( `lead_support_1_id` int(11) NOT NULL auto_increment, `purchase_value` float default NULL, `mortgage_value` float default NULL, `carrier_route` varchar(4) default NULL, `condo_code` char(1) default NULL, `publish_date` date default NULL, `area_code` char(3) default NULL, `grantee_name` varchar(26) default NULL, `typedoc` char(1) default NULL, `delivery_point` char(2) default NULL, `check_digit` char(1) default NULL, `sale_type` char(1) default NULL, `loan_type` char(1) default NULL, `rate_type` char(1) default NULL, `plusfour` varchar(4) default NULL, `sale_date` date default NULL, `lender_name` varchar(25) default NULL, `country_code` char(3) default NULL, `record_type` char(1) default NULL, `spouse_indicator` char(1) default NULL, `client_key` varchar(4) default NULL, `serial_number` varchar(8) default NULL, `line_of_travel` varchar(6) default NULL, `job_number` varchar(8) default NULL, `y2k_publish_date` date default NULL, `y2k_sale_date` date default NULL, PRIMARY KEY (`lead_support_1_id`) ) TYPE=MyISAM PHP Version: php-4.0.6-7 RPM with RH 7.2 MySQL Version: mysql Ver 11.15 Distrib 3.23.44, for pc-linux-gnu (i686) -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED] -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]