hawkmaster: Multi User, gleichzeitiges Speichern

Hallo zusammen,

mal ne ganz banale Frage. Ich wusste nicht so recht nach welchem Stichwort ich googeln soll.

Folgendes Szenario:

Eine Webanwendung in PHP wird von vielen Usern aufgerufen. Angenommen es ist ein Formular mit
den Textfeldern "Vorname" und "Nachname".

Nach Eingabe und "Speichern" Klick, soll das in einer MySQL Tabelle gespeichert werden.

Ich lasse jetzt mal in dem Beispiel alle Prüfungen und sicherheits relevante Dinge weg.

  
if(isset($_POST['Save'])){  
  
insertName($_POST['vorname'],$_POST['nachname']);  
  
}  

Mich würde nur interessieren, was passiert wenn z.b. zwei User genau gleichzeitig das Formular absenden?
User1 gibt "Thomas" "Müller" ein
User2 gibt "Rolf" "Meier" ein

Könnte es hier ein "Mischmasch" der Daten geben so das in der DB z.b.
"Thomas" "Meier" steht oder zweimal "Thomas" "Müller" ?

Oder wird durch den Apache oder PHP immer zuerst ein Formular abgearbeitet und dann das nächste?

vielen Dank und viele Grüße
hawk

  1. Könnte es hier ein "Mischmasch" der Daten geben so das in der DB z.b.
    "Thomas" "Meier" steht oder zweimal "Thomas" "Müller" ?

    Mahlzeit,

    keine Sorge, die 2 verschiedenen PHP-Prozesse bauen jeweils eine eigene Verbindung zur DB auf, dadurch existieren auch in der DB 2 verschiedene Sessions, wodurch die DB klar trennen kann, abgesehen davon wird tatsächlich nacheinander geschrieben, auch wenn es quasi parallel abläuft.

    LG

    1. Hallo zusammen,

      vielen Dank an Alle,
      so war auch meine Vermutung. Ich wollte nur nochmals sicher gehen.

      vielen Dank und viele Grüße
      hawk

  2. Aloha ;)

    Mich würde nur interessieren, was passiert wenn z.b. zwei User genau gleichzeitig das Formular absenden?
    User1 gibt "Thomas" "Müller" ein
    User2 gibt "Rolf" "Meier" ein

    Könnte es hier ein "Mischmasch" der Daten geben so das in der DB z.b.
    "Thomas" "Meier" steht oder zweimal "Thomas" "Müller" ?

    Nein ;)

    Oder wird durch den Apache oder PHP immer zuerst ein Formular abgearbeitet und dann das nächste?

    Genau richtig vermutet. PHP arbeitet imho eine Anfrage nach der nächsten ab.
    Und selbst wenn PHP parallel Anfragen abarbeitet (was imho nicht der Fall ist, kann mich auch täuschen), so kommen doch die Datenbank-Requests von PHP zur Datenbank nacheinander an und werden auch von der Datenbank getrennt voneinander verarbeitet. Insgesamt: Alle Requests und ihre Antworten werden von allem anderen, was noch so ablaufen könnte, getrennt bearbeitet.

    Schön, wenn es so einfach ist zu helfen ;)

    Grüße,

    RIDER

    --
    Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
    ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
    1. Tach!

      Genau richtig vermutet. PHP arbeitet imho eine Anfrage nach der nächsten ab.
      Und selbst wenn PHP parallel Anfragen abarbeitet (was imho nicht der Fall ist, kann mich auch täuschen),

      Der Apache arbeitet Requests parallel ab. Wenn er dabei Requests an PHP weitergeben muss, wartet er nicht erst auf das Ende einer einzigen PHP-Instanz sondern erzeugt neue oder nimmt eine weitere aus einem Pool. Die laufen dann also auch parallel, aber jede für sich. (Datenbank wurde ja schon beantwortet.)

      dedlfix.