Eurokicker
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 22.07.2005, 15:19   #1
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User

PHP und MySQL in 5 Minuten


PHP und MySQL in 5 Minuten

Ein Blitztutorial

Wir wollen mit PHP auf eine Datenbank zugreifen und Daten in eine Tabelle schreiben und wieder auslesen.
Dafür wollen wir uns die rudimentären Grundlagen anschauen.

MySQL - die Datenbank
Die Datenbank besteht aus Tabellen, diese aus Feldern und in diesen Feldern sind die Daten.
Wenn man weiss, welche Daten man in die Felder packen will, dann kann man anhand des Typs des Feld die Art der Daten festlegen.
Für den Anfang brauchen wir nur

Zahlen (INT)
kleine Zeichenketten (VARCHAR(255))
grössere Texte (TEXT)
Datum und Uhrzeit (DATETIME)

VARCHAR hat eine Begrenzung von 255 Zeichen.

Wenn man Datensätze in eine Tabelle einfügt, möchte man später auf genau diesen Datensatz zugreifen.
Dazu benötigt man einen Schlüssel(KEY), der eindeutig ist. MySQL hat hierfür einen Autozähler, der sich selbstständig einträgt und somit einen KEY für den
Datensatz darstellt. Das Feld wird meist mit dem Namen `id` benannt und der Feldtyp ist
`id` int(11) unsigned not null AUTO_INCREMENT PRIMARY KEY

Das bedeutet eine Zahl mit 11 Bytes Speicher (reicht für sehr grosse Zahlen) ohne Vorzeichen (unsigned), nicht leer (not null), Autozähler (AUTO_INCREMENT) und primärer Schlüssel (PRIMARY KEY).

Die Scriptsprache von MySQL nennt sich SQL und ist dem englischen sehr verwandt
Um eine Tabelle zu erzeugen, lautet der Befehl

Code:
CREATE TABLE `tabellenname` (
`id` int(11) unsigned not null AUTO_INCREMENT PRIMARY KEY,
`datum` DATETIME,
`zahl1` INT,
`name` VARCHAR(255),
`information` TEXT )TYPE=MYISAM;
Nehmt euch z.B. phpMyAdmin und gebt diese Zeile ein, und schon ist die Tabelle `tabellenname`
erzeugt.

Wie fügen wir Daten ein ?
Dafür gibt es den "INSERT INTO" - Befehl.
Wir wollen was beliebiges einfügen:

Code:
INSERT INTO `tabellenname` 
SET
`datum`=NOW(),
`zahl1`='15',
`name`='Baltazar',
`information`='Dies ist nur ein kleines Beispiel';
Das wars schon. MySQL gibt diesem Datensatz automatisch die id 1, das Datum wird auf das aktuelle gesetzt
(Eine MySQL-Funktion Now() liefert das aktuelle Datum mit Uhrzeit).
Viele wundern sich bestimmt über diese Hochzeichen.
Für Namen von Tabellen und Feldern benutzt man die schrägen Hochticks (Backticks) `
und für Zeichenketten (Strings) die einfachen Anführungzeichen (Quotes) '

Die Backticks kann man auch weglassen, wenn es sich um keine reservierten oder mit Sonderzeichen belegten Namen handelt -
mit ist sicherer
Die Quotes bei Zahlen kann man auch weglassen.

Wollen wir diesen Datensatz wieder auslesen, so wählen (SELECT) wir ihn aus

Code:
SELECT * 
FROM `tabellenname`
WHERE `id`=1;
Das * steht für alle Tabellenfelder. Will man nur bestimmte, kann man sie auch aufzählen und durch Kommatas trennen.


Kommen wir zum PHP-Teil.
Alles was wir brauchen ist bereits in PHP eingebaut, wir können es direkt nutzen.

Um zur Datenbank zu verbinden brauchen wir die "Zugangsdaten"

PHP-Code:
$host='localhost';
$user='root';
$password=''
wir verbinden

PHP-Code:
$res=mysql_connect($host,$user,$password) or die('Das war wohl nix ! Mysql meldet:<br>'.mysql_error()); 
Im Erfolgsfall sehen wir nichts - bei Fehler stirbt das Script mit der Fehlermeldung.

Jetzt wählen wir unsere Datenbank aus (hier heisst sie TP)
PHP-Code:
$res=mysql_select_db('TP') or die('War wieder nix - die Datenbank gibts wohl nicht'); 
Prima. Wir fügen mal in einer Schleife 10 Datensätze ein, damit wir was zum spielen haben:

PHP-Code:
for($i=1;$i<11;$i++) 
{
    
//völlig willkürliche Daten erzeugen
    
$zahl=$i*35
    
$name='Igor der ' $i '. Herrscher';
    
$info='Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto';
    
//und jetzt einfügen
    
$sql="INSERT INTO `tabellenname` SET `datum`=NOW(),`zahl1`='$zahl',`name`='$name',`information`='$info';";
    
$res=mysql_query($sql) or die("Halt - da stimmt was nicht !<br>".mysql_error()."<br>$sql");

Und schon haben wir die Datenbank gefüllt.
Jetzt lesen wir alles wieder aus:

PHP-Code:
$sql="SELECT * FROM `tabellenname`";
$res=mysql_query($sql) or die("Das gibts doch nicht - immer noch was falsch ? !<br>".mysql_error()."<br>$sql");
//ich will wissen, wieviele Datensätze MySQL gefunden hat
$num=mysql_num_rows($res); //in $num müsste jetzt 10 stehen
echo "Ah, ich habe $num Datensätze gefunden<br>";
//Ok, ich will sie alle sehen
//Wir bauen uns eine Ausleseschleife
While($datensatz=mysql_fetch_array($res))
{
    
//in $datensatz steht jeweils ein kompletter Datensatz als Array
    //wir lesen aus:
    
echo "<p>";
    echo 
"Datensatz " $datensatz['id']."<br>";
    echo 
"Datum: "  $datensatz['datum']."<br>";
    echo 
"Zahl: " $datensatz['zahl'] . "<br>";
    echo 
"Name: " $datensatz['name'] . "<br>"
    echo 
"Info: " .$datensatz['information'] . "<br>";
    echo 
"</p>";

So einfach kann die Kommunikation zwischen PHP und MySQL sein.

Natürlich ist das längst nicht alles, das ist ja nur der Rudimentär-Teil.
Das soll Euch in erster Linie den Mut geben, an diese Materie heranzugehen.

Viel Spass beim Spielen
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer

Geändert von steffenk (24.07.2005 um 23:27 Uhr).
steffenk ist offline   Mit Zitat antworten
Linktipp

Alt 22.07.2005, 16:11   #2
TP-Veteran
 
Benutzerbild von Nele
 
Registriert seit: Jan 2004
Ort: Borntowncity
Nele ist ein richtiges Arbeitstier - DANKENele ist ein richtiges Arbeitstier - DANKENele ist ein richtiges Arbeitstier - DANKENele ist ein richtiges Arbeitstier - DANKENele ist ein richtiges Arbeitstier - DANKENele ist ein richtiges Arbeitstier - DANKE
Danke, sowas ist für mich genau das Richtige.
__________________
Meine Makros
Nele ist offline   Mit Zitat antworten
Alt 22.07.2005, 16:13   #3
TP-Specialist
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
Du kommst ja vielleicht auf Ideen, Steffen. Da kann rein gar nichts mithalten, solange keiner "PHP und MySQL unter 5 Minuten" vorstellt.
Strogij ist offline   Mit Zitat antworten
Alt 19.08.2005, 03:06   #4
TP-Senior
 
Registriert seit: Oct 2003
Ort: Hamburg
Der Hamburger macht alles soweit korrekt
Gutes Tutorial, zumindest in Verbindung mit weiterer Kurzlektüre zum Thema. Hat mir den Einstieg in dieses Thema sehr erleichtert, danke.
Der Hamburger ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik > Workshops und Tutorials
PHP und MySQL in 5 Minuten PHP und MySQL in 5 Minuten
« [Workshop] MySQL-Befehle mit PHP | templates und mehr mit PHP und MYSQL »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:48 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 RC7 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67