Transaktion mit PHP?
Tanja 21
- php
Hallo ich verwende PHP und greife mit mysqli auf meine MySQL Datenbank zu.
Wie würdet ihr hiermit Transaktionen gewährleisten? Also wie kann ich mehrere insert zu einer Transaktion zusammenfassen und im Fehlerfall werden alle Transaktionen zurückgesetzt?
danke!
Hi Tanja,
Hallo ich verwende PHP und greife mit mysqli auf meine MySQL Datenbank zu.
Wie würdet ihr hiermit Transaktionen gewährleisten? Also wie kann ich mehrere insert zu einer Transaktion zusammenfassen und im Fehlerfall werden alle Transaktionen zurückgesetzt?
PHP feuert nur Statements, also ist hier nicht der geeignete Partner. Überlege dir wie du die Transaktionen in MySQL zusammenfassen uns sichern würdest und fasse diese Statements zusammen und lasse sie gemeinsam ausführen mit query() oder einem ähnlichem Befehl.
LIebe Grüße
ciao
romy
Hi Tanja,
Hallo ich verwende PHP und greife mit mysqli auf meine MySQL Datenbank zu.
Wie würdet ihr hiermit Transaktionen gewährleisten? Also wie kann ich mehrere insert zu einer Transaktion zusammenfassen und im Fehlerfall werden alle Transaktionen zurückgesetzt?
PHP feuert nur Statements, also ist hier nicht der geeignete Partner. Überlege dir wie du die Transaktionen in MySQL zusammenfassen uns sichern würdest und fasse diese Statements zusammen und lasse sie gemeinsam ausführen mit query() oder einem ähnlichem Befehl.LIebe Grüße
ciao
romy
Besten Dank, ich habe folgendes gefunden, meinst du ich kann das auch nicht so lösen? So geht es doch in PHP...oder?
$mysqli->autocommit(FALSE);
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");
if ($mysqli.error == "")
{
/* commit transaction */
$mysqli->commit();
}
else
{
$mysqli->rollback();
}
Hi Tanja,
Besten Dank, ich habe folgendes gefunden, meinst du ich kann das auch nicht so lösen? So geht es doch in PHP...oder?
$mysqli->autocommit(FALSE);
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");
if ($mysqli.error == "")
{
/* commit transaction */
$mysqli->commit();
}
else
{
$mysqli->rollback();
}
Dies sind Funktionen, welche vermutlich von einem oder mehreren netten Menschen geschrieben wurden, welche vermutlich genau das beinhalten was du suchst. ;) Sie sind keine Garantie, dass es funktioniert wie du es wünschst. Versteh mich nicht falsch, du kannst natürlich vorgefertigte Funktionen nehmen. Ich kannte diese auch nicht, so konnte ich dir da auch keinen Hinweis geben. Sie klingen zumindest gut ;)
Liebe Grüße
ciao
romy
hi,
Dies sind Funktionen, welche vermutlich von einem oder mehreren netten Menschen geschrieben wurden
Beziehst du dich auf die mysqli-Funktionen?
gruß,
wahsaga
Hi wahsaga,
Dies sind Funktionen, welche vermutlich von einem oder mehreren netten Menschen geschrieben wurden
Beziehst du dich auf die mysqli-Funktionen?
Nö ;) Ich bin irgendwie nicht "up to date". Boah warum hab ich noch vor 4-5 Jahren verzweifelt nach solchen Funktionen gesucht. Ich bin jetzt einfach mal davon ausgegangen, dass das Funktionen aus dem PEAR-Umfeld sind.
@Tanja, vergiss, was ich gesagt habe.
ciao
romy
Hi Ingrid,
@Tanja, vergiss, was ich gesagt habe.
Nein vergiss es nicht, ich sollte erst lesen dann schreiben.
Diese Funktionen sind zumindest experimentell, also nicht ganz ohne Vorsicht zu gebrauchen.
ciao
romy
echo $begrüßung;
Diese Funktionen sind zumindest experimentell, also nicht ganz ohne Vorsicht zu gebrauchen.
Das ist nicht mehr richtig. Die deutsche Übersetzung des Handbuchs ist nur wieder einmal nicht auf dem aktuellen Stand.
echo "$verabschiedung $name";
Hi dedlfix,
Diese Funktionen sind zumindest experimentell, also nicht ganz ohne Vorsicht zu gebrauchen.
Das ist nicht mehr richtig. Die deutsche Übersetzung des Handbuchs ist nur wieder einmal nicht auf dem aktuellen Stand.
Da hat sie ja was mit mir gemeinsam. Aber interessant zu wissen, danke.
ciao
romy