Well, when I tested the code, It was still allowing 2 requests to update/read the table at the same time. It may only be in the case tha tI am facing when I am updating the table but also need to output the new value that was updated. I may just be attacking this problem wrong too.
Matt Babineau Freelance Internet Developer e: [EMAIL PROTECTED] p: 603.943.4237 w: http://www.illuminatistudios.com -----Original Message----- From: Scott Hurring [mailto:[EMAIL PROTECTED]] Sent: Thursday, April 25, 2002 4:49 PM To: Php-Win (E-mail) Subject: RE: [PHP-WIN] MySQL / PHP - possible to run many sql statements in the same execution? Sorry for seeming a bit dense, but what's the problem with using "LOCL TABLES" for all SQL stmnts? It's my understanding that it will lock tables and prevent other procs from reading/writing to that table while you've got a lock on it. Is that not the case? --- Scott Hurring Systems Programmer EAC Corporation [EMAIL PROTECTED] Voice: 201-462-2149 Fax: 201-288-1515 > -----Original Message----- > From: Matt Babineau [mailto:[EMAIL PROTECTED]] > Sent: Thursday, April 25, 2002 3:46 PM > To: 'Php-Win (E-mail)' > Subject: [PHP-WIN] MySQL / PHP - possible to run many sql > statements in > the same execution? > > > Let me try and explain a little better: > > Here is some query code > > $query3 = "LOCK TABLES COUNTER_PAGE_VIEWS"; > $query = "SELECT Count FROM COUNTER_Page_Views WHERE Counter_ID = '" . > $count_id . "'"; $query1 = "UPDATE COUNTER_Page_Views SET Count = > Count + 1 WHERE Counter_ID = '" . $count_id . "'"; > $result3 = mysql_query($query3); > $result1 = mysql_query($query1); > $result = mysql_query($query); > > > As the page processes, it processes in order, so it owuld go through > those lines of code and do what it needs to do. Currently two users > can cause a threading issue where even if I lock the table, > because the call > is not coming from inside MySQL. So the locking only occurs for the > single Query which locks the Table, then the next query > execution voids > the write lock on the table. > > What I would need to do here is either lump all the queryioes into one > SQL execution or lock the PHP code so it is single threaded like this: > > $query3 = "LOCK TABLES COUNTER_PAGE_VIEWS"; > $query = "SELECT Count FROM COUNTER_Page_Views WHERE Counter_ID = '" . > $count_id . "'"; $query1 = "UPDATE COUNTER_Page_Views SET Count = > Count + 1 WHERE Counter_ID = '" . $count_id . "'"; > > <LOCK THE CODE SO ONLY ONE CLIENT CAN RUN AT A TIME> > $result3 = mysql_query($query3); > $result1 = mysql_query($query1); > $result = mysql_query($query); > <RELEASE THE LOCK> > > Anyone have any suggestions? > > Matt Babineau > Freelance Internet Developer > e: <mailto:[EMAIL PROTECTED]> > [EMAIL PROTECTED] > p: 603.943.4237 > w: <http://www.illuminatistudios.com/> http://www.illuminatistudios.com -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php