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]

Reply via email to