Hallo,
das ganze ist mit mysql_query zu realisieren. Als Aufruf musst Du dann die entsprechenden MYSQL spezifischen SQL-Kommandos nacheinander abarbeiten.
Code:
mysql_query( "LOCK TABLES mytable; INSERT INTO ..... ; UNLOCK TABLES mytable");
Allerdings ist das ganze etwas fragwürdig. Wenn DU nur Daten aktualisieren willst, solltest Du besser mit Transaktionen arbeiten. Bei denen werden alle betroffenen Zeilen in den Tabellen gesperrt, bis Du per commit die Transaktion beendest.
Eine andere Alternative ist, dass Du Dir in einer separaten Tabelle ein Semaphoren-Speicher baust, mit dem Du gleichzeitig Sperre und Queue der Abarbeitungsfolgen hinterlegst. Dazu legst Du bei Start einer Abfrage einen Entrag an und nach Ende löschst Du ihn. Außerdem markierst Du, ob Du Exklusiv oder Shared zugreifen willst. Soll Exklusiv zugegriffen werden,
prüfst Du, ob niemand jemand bereits exklusiv arbeitet und ob du an erster Stelle stehst. Dann markierst Du Dich als aktiv,
prüfst, ob alle shared actions abgearbeitet wurden und führst dann Deine exklusiven Befehle aus. Anschließend entfernst Du den Eintrag ...
Das ganze sollte auch noch eine Timeout-Überprüfung der Einträge enthalten.
Gruß,
Jumper, the II.