INSERT – Daten einfügen

Mit SELECT können wir Werte aus der Datenbank selektieren und zum eintragen nutzen wir INSERT. Als erstes möchten wir einen weiteren Kunden in unsere Datenbank eintragen:

<?php
	//Verbindung zur Datenbank herstellen
	mysql_connect("localhost", "Benutzername","Passwort") or die ("Verbindung nicht möglich");
	mysql_select_db("Datenbank-Name") or die ("Datenbank existiert nicht");
	
	$result = mysql_query("INSERT INTO kunden (name, adresse) VALUES ('Hans Meier', 'Wuppernweg 19')");
?>	

Eigentlich alles wie gewohnt, nur das der Teil in „mysql_query“ nun anstelle eines SELECT’s ein INSERT ist. Schauen wir uns den SQL-Befehl mal genauer an:

INSERT INTO kunden (name, adresse) VALUES ('Hans Meier', 'Wuppernweg 19')
  • INSERT INTO kunden – in welche Tabelle soll was eingetragen werden
  • (name, adresse) – die Reihenfolge der Spalten, wie die Werte eingetragen werden sollen. Man kann sich das anordnen wie man mag, ich halte mich aber grundsätzlich an die Reihenfolge, die die Tabelle hat.
  • VALUES (‚Hans Meier‘, ‚Wuppernweg 19‘) – hier kommen nun die Werte, die eingetragen werden sollen. Dabei ist die Reihenfolge abhängig von der Reihenfolge die man vorher festgelegt hat. Strings werden generell in Hochkommata gefasst, Zahlen nicht (ausser man möchte die Zahl als String speichern)

Führe das Skript mal aus (achte auf die korrekten Verbindungsdaten) und du solltest einen 3. Datensatz in deiner Tabelle „kunden“ vorfinden.

INSERT mit Variablen

Natürlich müssen wir nicht jedes INSERT per Hand befüllen, wir können auch Variablen nutzen:

<?php
	$kunde = 'Michael Weisel';
	$adresse = 'Charlottenstr. 7';
	
	$result = mysql_query("INSERT INTO kunden (name, adresse) VALUES ('".$kunde."', '".$adresse."')");
?>	

Wenn man Variablen benutzt, darf man aber die Hochkommata nicht vergessen. Ausserdem muss man den String mit beenden, dann die Variable mit . konkatenieren und dann den SQL String mit wieder öffnen. Ist anfangs etwas verwirrend, aber man gewöhnt sich schnell dran.

Um im nächsten Teil WHERE – Auswahl eingrenzen ein paar mehr Daten haben, führe jetzt folgenden SQL-Query aus:

INSERT INTO kunden (name, adresse) VALUES ('Michael Meier', 'Saagengasse 13');
INSERT INTO kunden (name, adresse) VALUES ('Berta Brecht', 'Kalossenweg 8');
INSERT INTO kunden (name, adresse) VALUES ('Lilly Lagerfeld', 'Blumenweg 19');
INSERT INTO kunden (name, adresse) VALUES ('Peter Paulus', 'Kirchenstrasse 22');
INSERT INTO kunden (name, adresse) VALUES ('Sarah Seil', 'Roteneck 12');
INSERT INTO kunden (name, adresse) VALUES ('Adam Aldenau', 'Grüner Weg 5');
INSERT INTO kunden (name, adresse) VALUES ('Emil Entenich', 'Hinterhausen 12');

So, mit 10 Einträgen in der Datenbank sollte es ein bisschen mehr Spass mit dem SQL-Befehl WHERE machen.

hier geht's weiter...



Kommentare


Gehören die letzten 7 INSERT INTO jeweils in eine eigene mysql_query() Anweisung?


Ja, jede Zeile kommt in ein eigenes "mysql_query". Es gibt zwar auch die Möglichkeit mehrere "Inserts" in einem mysql_query auszuführen, dann ändert sich aber der Code. Der obige Code funktioniert nur, wenn jede Zeile ihr eigenes "mysql_query" erhält.

Kommentar schreiben

Kommentar

Hilfe:

<strong>fettgedruckt</strong> => fettgedruckt

<em>kursiv</em> => kursiv

<a href="http://wordpress.lernenhoch2.de">Link</a> => Link

[code]<?php echo 'hello world'; ?>[/code]

*

Feedback Formular