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]