Ergebnis 1 bis 4 von 4

Thema: PHP und MySQL in 5 Minuten

  1. #1
    TP-Special Mod Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869

    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
    Geändert von steffenk (24.07.2005 um 23:27 Uhr)

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

  2. #2
    TP-Veteran
    Registriert seit
    Jan 2004
    Ort
    Borntowncity
    Beiträge
    1.263
    Danke, sowas ist für mich genau das Richtige.

  3. #3
    Guest
    Registriert seit
    Aug 2002
    Beiträge
    2.233
    Du kommst ja vielleicht auf Ideen, Steffen. Da kann rein gar nichts mithalten, solange keiner "PHP und MySQL unter 5 Minuten" vorstellt.

  4. #4
    TP-Senior
    Registriert seit
    Oct 2003
    Ort
    Hamburg
    Beiträge
    113
    Gutes Tutorial, zumindest in Verbindung mit weiterer Kurzlektüre zum Thema. Hat mir den Einstieg in dieses Thema sehr erleichtert, danke.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

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