RE: [PHP-DB] nysql_query confusing selects for inserts?
| From: | Rick Emery | Date: | Thu, 03 Jan 2002 20:40:01 +0000 |
| Subject: | RE: [PHP-DB] nysql_query confusing selects for inserts? | ||
| Groups: | php.db | ||
| Request: | Send a blank email to php-db+get-15359@lists.php.net to get a copy of this message | ||
That's what I wondered about.
How are you building the SELECT statement. I would have thought it'd be:
$query = "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"
-----Original Message-----
From: Ken Kinder [mailto:ken@notenetwork.com]
Sent: Thursday, January 03, 2002 2:32 PM
To: Rick Emery; php-db@lists.php.net
Subject: Re: [PHP-DB] nysql_query confusing selects for inserts?
I saved the query to a file, did a diff, and it does have one difference:
there are DOS newlines in the string. Could that do it? Do you know how to
strip those out?
On Thursday 03 January 2002 11:40 am, Rick Emery wrote:
> So show us the print out when you printed $sql. I'm certain it did not
> look like:
> 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
>
> But rather, it was in one long string.
>
> -----Original Message-----
> From: Ken Kinder [mailto:ken@notenetwork.com]
> Sent: Thursday, January 03, 2002 12:33 PM
> To: Rick Emery; php-db@lists.php.net
> Subject: Re: [PHP-DB] nysql_query confusing selects for inserts?
>
>
> Yes, I copied it verbatium and copied it right from the HTML source into
> this
> email.
>
> On Thursday 03 January 2002 11:22 am, Rick Emery wrote:
> > 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:ken@notenetwork.com]
> > Sent: Thursday, January 03, 2002 12:08 PM
> > To: php-db@lists.php.net
> > 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)