mysql: Infos. speichern

Fragen zum Thema HTML, JavaScript, PHP
Kmitska
Beiträge: 349
Registriert: Fr Sep 23, 2011 8:49 pm
Wohnort: Karlsruhe, Pforzheim

mysql: Infos. speichern

Beitrag von Kmitska » Fr Mai 11, 2012 7:44 pm

Hallo Leute,

versuche mysql anzuschauen bzw. arbeite mit Datenbanken.

Habe mir so eben dieses Beispiel im Wiki angeschaut:
http://www.proggen.org/doku.php?id=php: ... nsert-into

Aber ich verstehe das nicht...
Ich verwende XAMPP auf Windows.

Unter localhost/phpmyadmin habe ich einen Datenbank erstellt ("kmitska").
Da gibt es nun eine Option, wo ich eine "Tabelle" einrichten kann, brauch ich das unbedingt?

Kann mir jemand sagen wie ich nun vorgehe?

Danke im Voraus.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: mysql: Infos. speichern

Beitrag von cloidnerux » Fr Mai 11, 2012 7:54 pm

Aber ich verstehe das nicht...
Ich verwende XAMPP auf Windows.

Unter localhost/phpmyadmin habe ich einen Datenbank erstellt ("kmitska").
Da gibt es nun eine Option, wo ich eine "Tabelle" einrichten kann, brauch ich das unbedingt?
Weil du das Prinzip von Datenbanken nicht verstanden hast.
Eine Datenbank ist nicht einfach nur eine Datei, in der Daten Reinschmeißt, in der Hoffnung das sie irgendwie Organisiert werden.
Klassische SQL Datenbanken Organsieren ihre Daten in Tabellen, jede Reihe steht für einen Datensatz, jeder Spalte für einen Wert.
Folglich kannst du nur Daten in eine Tabelle eintragen, die in einer Datenbank liegt und vorher von dir angelegt werden muss, damit festgelegt ist welcher Datentyp unter welchen Bezeichner in welcher Spalte liegt.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Kmitska
Beiträge: 349
Registriert: Fr Sep 23, 2011 8:49 pm
Wohnort: Karlsruhe, Pforzheim

Re: mysql: Infos. speichern

Beitrag von Kmitska » Fr Mai 11, 2012 8:00 pm

ok...

habe nun eine Tabelle namens "test" eingerichtet.
Nun wie schreibe ich da etwas rein?

Code: Alles auswählen

$eintrag = "INSERT INTO user (spalten) VALUES (werte für spalten)";
 $eintragen = mysql_query($eintrag);
vielleicht so?

Code: Alles auswählen

$eintrag = "INSERT INTO kmitska 1 VALUES 5";
 $eintragen = mysql_query($eintrag);
Wo wird die Tabelle erwähnt?

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: mysql: Infos. speichern

Beitrag von cloidnerux » Fr Mai 11, 2012 8:25 pm

http://www.w3schools.com/sql/sql_insert.asp
Es heißt

Code: Alles auswählen

INSERT INTO tabelle (spalte1) VALUES (1)
Redundanz macht wiederholen unnötig.
quod erat expectandum

Kmitska
Beiträge: 349
Registriert: Fr Sep 23, 2011 8:49 pm
Wohnort: Karlsruhe, Pforzheim

Re: mysql: Infos. speichern

Beitrag von Kmitska » Fr Mai 11, 2012 8:44 pm

Bekomme keine Tabelle irgendwie... kann mir jemand da helfen?

PHP:

Code: Alles auswählen

$ergebnis = mysql_query("
CREATE TABLE test
(
	id INT AUTO_INCREMENT PRIMARY KEY,
	Autor VARCHAR(30) NOT NULL,
	Titel VARCHAR(50) NOT NULL,
	Inhalt Text NOT NULL,
	Datum DATETIME NOT NULL)
)
");
Und wie geht das jetzt nochmal mit normalem User Interface bei xampp, da sind diverse merkwürdige Fragen...

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: mysql: Infos. speichern

Beitrag von Xin » Sa Mai 12, 2012 9:38 am

Eine Datenbank hat normalerweise kein "User-Interface", weil der Benutzer nichts mit der Datenbank zu tun hat. Du schreibst das User-Interface in dem Du eine Software schreibst, die ihre Daten in der Datenbank ablegt.

Du müsstest ein Programm "mysql" haben, dass ein User-Interface zwischen Dir und dem Datenbankserver darstellt. Hier gibst Du SQL-Befehle direkt in die Konsole ein, mit exit verlässt Du den Client.
Mit "show databases;" kannst Du Dir die Datenbanken anschauen, die der Server verwaltet.
Mit "use <databasename>;" bestimmst Du, welche Datenbank Du verwenden möchtest. Mit "show tables;" kannst Du Dir die Datenbank ansehen.
Nun kannst Du entsprechend "select", "insert into", "delete from" und "update" ausprobieren.
"Create Table" kennst Du ja schon, mit "Drop Table" wirst Du die Tabelle wieder los.

Die Befehle, die Du hier abschickst, kannst Du genauso per PHP und mysql_query() abschicken, bzw. Du kannst hier kontrollieren, ob Deine PHP-Befehle wie erwartet durchgeführt wurden.
Das Query sieht für meinen Geschmack gut aus. Schau mal im mysql-Client nach, ob sie nicht vielleicht schon existiert, dann kann er sie ja nicht erneut anlegen.

Ich würde mir phpMyAdmin installieren. Das ist ebenfalls eine angenehme Oberfläche für mysql.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: mysql: Infos. speichern

Beitrag von nouseforname » Sa Mai 12, 2012 12:47 pm

Wenn er Xampp verwendet ist PhpMyAdmin schon installiert.

Normalerweise ist das Interface unter http://localhost/phpmyadmin erreichbar.


Aber das ist alles sehr gut erklärt:

http://www.apachefriends.org/de/xampp-windows.html

C@mper
Beiträge: 88
Registriert: Mo Nov 15, 2010 3:30 pm

Re: mysql: Infos. speichern

Beitrag von C@mper » Sa Mai 12, 2012 2:07 pm

Bitte nicht falsch verstehen .... :mrgreen:

Aber bevor erklärt wird, mit welchem query er in die Datenbank schreibt, liest, anschaut, löscht, sollte erst mal erklärt/begriffen werden, WAS eine Datenbank überhaupt ist.

Ich denke mal, hier fehlt das Grundwissen welchen Sinn und Zweck eine DB überhaupt hat und wie diese aufgebaut bzw. organisiert ist, was sind Tabellen, warum Tabellen, wie sind Tabellen aufgebaut etc.

Solange das nicht verstanden ist, wird es zwar irgendwann mal funktionieren, dass er was speichert und evtl. auch wieder ausliest, aber aufgrund des fehlenden "Hintergrundwissens" nie eine Datenbank wirklich sinnvoll "nutzen" (wäre doch schade).

Leider gibt das Wiki hierzu etwas wenig an Infos preis, deshalb würde ich zu einer "abendfüllenden" Lektüre im google raten.

Gut zu lesen z.B. hier->:
http://de.wikipedia.org/wiki/Datenbank

http://www.google.com/url?sa=t&rct=j&q= ... CiSTGiWsOQ

Kmitska
Beiträge: 349
Registriert: Fr Sep 23, 2011 8:49 pm
Wohnort: Karlsruhe, Pforzheim

Re: mysql: Infos. speichern

Beitrag von Kmitska » So Mai 13, 2012 6:17 pm

Hehe, mit UI meine ich phpmyadmin. :)

Kennt sich da einer aus? (Tabelle erstellen)

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: mysql: Infos. speichern

Beitrag von nouseforname » So Mai 13, 2012 6:26 pm

Geht am einfachsten und schnellsten per SQL-Befehl. Direkt in der angewählten Datenbank.

Zb So:

Code: Alles auswählen

CREATE TABLE IF NOT EXISTS `challenges` (
  `Id` mediumint(9) NOT NULL auto_increment,
  `Uid` varchar(27) NOT NULL default '',
  `Name` varchar(100) NOT NULL default '',
  `Author` varchar(30) NOT NULL default '',
  `Environment` varchar(15) NOT NULL default '',
  PRIMARY KEY (`Id`),
  UNIQUE KEY `Uid` (`Uid`)
);
Auch möglich per Konsole (Linux):

Code: Alles auswählen

#! /bin/bash
#
# execute like createdb.sh DATABASE
USER=username
PASS=password
HOST=localhost
DB=$1

if [ ! $1 ] ; then
	echo ""
	echo "Execute like \"createdb.sh DATABASE\""
	echo""
	exit 1
fi

CREATEDB=`mysql --user="${USER}" --pass="${PASS}" --host="${HOST}"  --execute='CREATE DATABASE '${DB}';'`

if [ $CREATEDB ] ; then
	echo ""
	echo "Database creation failed!!!!"
	echo ""
	exit 1
fi


IMPORTASECO=`mysql --user=$USER --pass=$PASS --host=$HOST $DB < ./database.sql`

if [ $IMPORTASECO ] || [ $IMPORTEXTRA ] || [ $IMPORTRASP ] ; then
	echo ""
	echo "Database import failed!!!!"
	echo ""
	exit 1
fi

echo "Database $1 succesfully created"

exit 0
MySql Code in Extradatei, Datenbankname als Argument übergeben.

Antworten