Yup, the data's correct. The new records all have the DownloadedDateTime as
'0000-00-00 00:00:00'

As an attempted fix, I even entered a pause between the two MySQL queries,
and made the UPDATE low_priority to make sure it wasn't jumping the gun.

No luck yet.

Don



in article 003d01c09d20$a16db610$[EMAIL PROTECTED],
"..s.c.o.t.t.. [gts]" at [EMAIL PROTECTED] wrote on 2/22/01 7:11 PM:

> mysql executes the queries in the order it recieves
> them, (so if your program's logic executes a select
> before an update, you'll never see results from the
> update in your select... at least not normally :)
> 
> Are you able to access the MySQL monitor program?
> 
> if so, verify that the data really does exist
> before running your script (maybe the SELECT
> is failing beucase the actual data is incorrect,
> not the code...)
> 
> go into the monitor and execute your SELECT
> statement, then run your PHP script... if
> the results still disagree, post some more
> information...
> 
> ----- Original Message -----
> From: "Don Johnson" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, February 21, 2001 5:19 PM
> Subject: [PHP] MySQL execution order?
> 
> 
>> Since I've always found my answers in the archive, this is my first post, so
>> please excuse any blunders...
>> 
>> I'm trying to download info from a table as a tab-delimted text file. This
>> part works fine. (By disabling the UPDATE statement in the code sample
>> below, I can get the same data file sent time after time.)
>> 
>> I need to keep the data in the table for future reference, and only want to
>> download each new record once, so I added a DateTime field that gets updated
>> after downloading. Then searching on that field gives me just the records
>> that haven't been downloaded yet.
>> 
>> The weird part is that it seems like the LAST MySQL command (UPDATE) gets
>> executed before the FIRST one (SELECT), because the SELECT statement comes
>> up with 0 rows.
>> 
>> 
>> Here's some selected (modified) parts of the PHP code:
>> 
>> ------------------------
>> First, I perform the SQL:
>> SELECT * from db_table WHERE (DownloadedDateTime = '0000-00-00 00:00:00')
>> 
>> Then, it parses and sends the info:
>> while ($row = mysql_fetch_row($result)) {
>> while (list($key, $val) = each($row)) {
>> $val = ereg_replace("[\n\r\t]"," ",$val);
>> $val = ereg_replace(" {2,}"," ",$val);
>> echo $val . "\t";
>> }
>> //end of line
>> echo "\r";
>> }   
>> 
>> Then I perform the SQL:
>> UPDATE LOW_PRIORITY db_table SET DownloadedDateTime=CURRENT_TIMESTAMP WHERE
>> (DownloadedDateTime = '0000-00-00 00:00:00')
>> --------------------------
>> 
>> Any ideas why the rows are getting the DownloadedDateTime field updated
>> before they get SELECTed?
>> 
>> 
>> Thanks,
>> 
>> Don Johnson
>> [EMAIL PROTECTED]
>> 
>> 
>> -- 
>> PHP General 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 General 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