CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
19.04.2013, 17:19:52
|
Anfänger
|
|
Registriert seit: Feb 2013
Alter: 69
Beiträge: 12
|
|
Einfügen von Daten in 2 Tabellen
Hallo zusammen,
ich wäre super glücklich, wenn jemand mir einen Tip geben könnte ...
Das Problem ist folgendes: ich habe 2 Tabellen (bestellung + besteller), die über ein Formular ihre Daten erhalten. Das Einfügen klappt auch, allerdings nicht, wenn ich zusätzlich einen foreign key zusätzlich einfüge.
Das wären meine SQL-Statements:
$sqlp = "INSERT INTO besteller
(nachname,vorname,strasse,ort,telefon,email)
VALUES ('$nachname','$vorname','$strasse','$wohnort','$telefon','$mail')";
$sql = "INSERT INTO bestellung (nachname,vorname,strasse,ort,mail,telefon,nachricht,kato,kata,katb,ka tc,katd,datum,
fbest_id)
VALUES ('$nachname','$vorname','$strasse','$wohnort','$mail','$telefon','$nac hricht','$okat','$akat','$bkat','$ckat','$dkat','$dat')
$sqlpl = "INSERT INTO bestell (fbest_id) SELECT id_besteller
FROM besteller WHERE besteller.nachname LIKE '$nachname'";
Vielen Dank!
|
20.04.2013, 13:07:46
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Einfügen von Daten in 2 Tabellen
Wie wäre es denn mal mit der (kompletten) Struktur der beiden Tabellen?
Ist die Tabelle bestell eine weitere Tabelle oder nur ein Schreibfehler?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
20.04.2013, 15:29:25
|
Anfänger
|
|
Registriert seit: Feb 2013
Alter: 69
Beiträge: 12
|
|
AW: Einfügen von Daten in 2 Tabellen
Hallo,
danke für den Hinweis - ja das war ein Schreibfehler - die Tabellen
sind wie folgt definiert:
Tabelle bestellung:
id_bestellung int(11)
nachname varchar(80)
vorname varchar(80)
strasse varchar(80)
ort varchar(100)
mail varchar(60)
telefon varchar(40)
nachricht varchar(400)
kato int(4)
kata int(4)
katb int(4)
katc int(4)
katd int(4)
datum date
fbest_id int(4) (foreign key -> id_besteller)
Tabelle besteller:
id_besteller int(4)
nachname varchar(250)
vorname text (150)
ort varchar(250)
strasse varchar(250)
telefon int(50)
email varchar(50)
|
22.04.2013, 18:58:57
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Einfügen von Daten in 2 Tabellen
Zitat:
Zitat von lebuek
die Tabellen sind wie folgt definiert:
|
Und wie wärs mal mit dem kompletten CREATE TABLE? Dann könnte man ja erkennen, ob Du die für foreign key erforderliche InnoDB Engine verwendest.
|
22.04.2013, 20:39:11
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
|
|
AW: Einfügen von Daten in 2 Tabellen
Ungeachtet von deinem Problem.
Was passiert eigentlich, wenn mehrere Besteller den gleichen Nachnamen haben?
PHP-Code:
$sqlpl = "INSERT INTO bestellung (fbest_id) SELECT id_besteller
FROM besteller WHERE besteller.nachname LIKE '$nachname'";
Bin mir da ziehmlich sicher, dass dir diese Query die falsche ID holt. Ist eher Glück, wenn es die richtige ID ist.
Schau dir mal folgende Links an:
mysql_insert_id (deprecated ab PHP Version 5.5.0)
mysqli_insert_id
oder
PDO::lastInsertId()
|
22.04.2013, 21:32:57
|
Anfänger
|
|
Registriert seit: Feb 2013
Alter: 69
Beiträge: 12
|
|
AW: Einfügen von Daten in 2 Tabellen
Das ist natürlich richtig - und ich werde das mit weiteren Abfragen überprüfen.
Danke!
Zunächst muss ich aber das Problem mit dem foreign key lösen.
|
22.04.2013, 23:08:21
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Einfügen von Daten in 2 Tabellen
Zitat:
Zitat von lebuek
Zunächst muss ich aber das Problem mit dem foreign key lösen.
|
Lies endlich das Handbuch!
Zitat:
Zitat von http://dev.mysql.com/doc/refman/5.1/de/innodb-foreign-key-constraints.html
14.2.6.4. Fremdschlüssel-Beschränkungen
InnoDB unterstützt auch Fremdschlüssel-Constraints, die in InnoDB mit folgender Syntax definiert werden:
[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
Für Fremdschlüsseldefinitionen gelten folgende Bedingungen:
Beide Tabellen müssen InnoDB-Tabellen sein und dürfen keine TEMPORARY-Tabellen sein....
|
Mit MyISAM gehts nämlich nicht!
|
23.04.2013, 07:57:11
|
Anfänger
|
|
Registriert seit: Feb 2013
Alter: 69
Beiträge: 12
|
|
AW: Einfügen von Daten in 2 Tabellen
Hallo,
den foreign key habe ich nach Syntax angelegt (ich glaube, das hätte sonst nicht
funktioniert), die Tabellen in php Admin - es sind in keinem Fall MyISAM Tabellen !
Aber ich werde sie nochmal neu angelegen über (drop/create) und mit expliziter Angabe
der engine.
Geändert von lebuek (23.04.2013 um 08:07:49 Uhr)
|
23.04.2013, 14:26:00
|
|
Anfänger
|
|
Registriert seit: Apr 2013
Ort: berlin
Alter: 39
Beiträge: 8
|
|
AW: Einfügen von Daten in 2 Tabellen
Zitat:
Zitat von meikel
Und wie wärs mal mit dem kompletten CREATE TABLE? Dann könnte man ja erkennen, ob Du die für foreign key erforderliche InnoDB Engine verwendest.
|
Selbiges hätte ich jetzt auch vorgeschlagen...
__________________
Nulla vita sine musica!
|
23.04.2013, 15:50:55
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: Einfügen von Daten in 2 Tabellen
Zitat:
Zitat von newbienchen
Selbiges hätte ich jetzt auch vorgeschlagen...
|
Er ziert sich noch etwas, CREATE TABLE, paar INSERTS als Futter und ne exakte Fehlermeldung zu liefern. Das
Zitat:
Das Einfügen klappt auch, allerdings nicht, wenn ich zusätzlich einen foreign key zusätzlich einfüge.
|
Ist definitiv keine Fehlermeldung.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 05:49:30 Uhr.
|