Hi.
Ich stehe ganz am Anfang und habe ein Problem das mich fuchst.
Ich will Einträge in die Datenbank vornehmen. Ich habe ein kleines Script (soll später noch komplexer werden - aber ich will ja erst mal klein anfangen^^). Und habe schon mein erstes Problem.
Jeder Eintrag in die Tabelle wird doppelt ausgeführt. Leider bin ich auch zu doof zum Googlen...ich finde nur Lösungen mit uniqe usw. - Aber das muss ich hier wohl ausschliessen. Da ausser der ID (=auto incremental) nix uniqe sein soll.
Jedesmal wenn ich das Script aus dem Browser (oder per anderem Script was ich ebenfalls aus dem Browser aufrufe) aufrufe, dann wird der Eintrag doppelt gemacht.
<?php
$pdo = new PDO('mysql:host=localhost;dbname=debrief', 'root', '');
$neues_Debrief = array();
$neues_Debrief['humancount'] = '1';
$neues_Debrief['hosttyp'] = 'Local';
$neues_Debrief['gametyp'] = 'Campaign';
$neues_Debrief['user'] = 'Quasar';
$_injection = $pdo->prepare("INSERT INTO debrief (user, humancount, hosttyp, gametyp) VALUES (:user, :humancount, :hosttyp, :gametyp)");
$_injection->execute($neues_Debrief);
if($_injection->execute()) {
while($row = $_injection->fetch()) {
echo $row['humancount']."<br />";
}
} else {
echo "SQL Error <br />";
echo $_injection->queryString."<br />";
echo $_injection->errorInfo()[2];
}
$pdo = null;
?>
Alles anzeigen
Wie verhindere ich nun das doppelte Einträge gemacht werden? Liegt es am Browser? (wird das script dadurch mehrfach ausgeführt?)
Oder am Script?
Ich nutze XAMPP lokal zum Testen.
Danke schon mal
P.s.: Die Fehlermeldungsabfrage ist deshalb nur auf "humancount" weil ich generell erst mal wissen wollte ob und warum kein Eintrag vorgenommen wurde. Jetzt gehts und er macht immer gleich doppelte Einträge
- - - Aktualisiert - - -
Edit:
Ok...am Browseraufruf liegt es nicht. So viel habe ich gerade selber herausgefunden.
In unserer Live-Test Umgebung** passiert dasselbe, wenn ich das Script wie folgt aufrufe:
Scheint also am Script selber zu liegen. Verstehe nur nicht warum es immer doppelt läuft. Ich logge ich doch am Ende aus der Datenbank aus:
Edit2: ** Testumgebung=vBulletin - das ganze ist ein Debriefing Tool von einem Ex-Mitglied...was ich jetzt will, ist die Ergebnisse in einer Datenbank abspeichern. So daß man darauf zugreifen kann. Unter anderem um alte Debriefings abzurufen und auch später mal mit dem Y.A.S.S (yet another ranking system) zu verknüpfen.