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]