[PHP] MySQL Tutorial

  • (PHP) MySQL Tutorial


    Einleitung
    Da ich momentan wegen meinem aktuellen Projekt viel mit PHP und MySQL arbeite, dachte ich mir, ich schreibe mal ein MySQL Tutorial.
    MySQL ist ein Datenbank-Typ.
    MSSQL ist zwar schneller, ich bervorzuge jedoch MySQL, da es leichter handzuhaben ist.


    Vorraussetzungen

    • Grundkenntnisse in PHP
    • XAMPP (Siehe weiter unten)


    Installation
    Zunächst brauchen wir "XAMPP".
    XAMPP beinhaltet einen Webserver, einen Datenbankserver (MySQL) und einige andere Spielerreien wie bspw. einen Mailserver.
    Wir benötigen nur den Webserver und den Datenbankserver.
    Ihr könnt euch XAMPP hier herunterladen: http://www.apachefriends.org/de/xampp-windows.html#628
    Nach dem Download installiert ihr es einfach in euer Root-Laufwerk (meistens "C:\") und startet das Control Panel.
    (Achtung: Der Webserver benötigt Port 80 und Port 443. Startet zunächst "port-check.exe" und überprüft ob die Ports nicht von anderen Programmen wie bspw. Skype belegt sind. Wenn ja, müsst ihr diese Programme schließen).


    Starten des Servers
    Sobald wir die Installation abgeschlossen haben, starten wir "Apache" (Webserver) und "MySQL" (Datenbank).
    Nun sollte links neben den Buttons mit grünem Background stehen: "Running".


    Aufrufen des Webservers
    Geht nun in euren htdocs Ordner. (C:\xampp\htdocs).
    Löscht nun den kompletten Inhalt des Ordners.
    In diesen Ordner kommt später die eigentliche "Homepage".
    Zum Test ruft ihr nun "localhost" im Browser auf (einfach "localhost" eingeben).
    Nun solltet ihr eine leere Inhaltsangebe sehen.


    Aufrufen des Datenbankverwaltungsprogrammes (phpmyadmin)
    Um eine neue Datenbank zu erstellen benutzen wir das bereits inkludierte Tool "phpmyadmin".
    Ihr könnt dieses öffnen in dem ihr auf "localhost/phpmyadmin" geht.
    Normalerweise kommt keine Logindatenabfrage, wenn doch:
    Benutzername: root
    Passwort:
    (Kein Passwort)


    Erstellen einer neuen Datenbank
    Ihr könnt beim Menüpunkt "MySQL localhost" eine neue Datenbank erstellen.
    Nehmen wir als Namen einfach mal "tutorial".
    Bei "Kollation" lasst ihr einfach "Kollation" in der Combobox.


    Erstellen von Tabellen
    Nun könnt ihr Tabellen erstellen.
    Tabellen enthalten Spalten, in diese ihr später mittels PHP Daten hineinschreiben, updaten, löschen und auslesen könnt.
    Nachdem ihr die Datenbank erstellt habt, könnt ihr gleich eure erste Tabelle erstellen.
    Nennen wir sie "user". (Wir werden ein kleines User-Insert-Programm schreiben).
    Bei "Anzahl der Felder" gebt ihr "5" ein.
    Nun kommt ihr zum Erstellen der Spalten.


    Zunächst brauchen wir die Spaltem.
    Wir wählen folgende Einstellungen:


    [table='9']
    [*] Feld
    [*] Typ
    [*] Länge
    [*] Standart
    [*] Kollation
    [*] Attribute
    [*] Null
    [*] Index
    [*] A_I
    [*] ID
    [*] INT
    [*] 10
    [*] Kein
    [*] So lassen, wie es ist.
    [*] UNSIGNED
    [*] Leer lassen.
    [*] PRIMARY
    [*] Ankreuzen
    [*] Vorname
    [*] Varchar
    [*] 255
    [*] Kein
    [*] So lassen, wie es ist.
    [*] So lassen, wie es ist.
    [*] Leer lassen.
    [*] So lassen, wie es ist.
    [*] Nicht ankreuzen.
    [*] Nachname


    [*] Varchar


    [*] 255


    [*] Kein


    [*] So lassen, wie es ist.


    [*] So lassen, wie es ist.


    [*] Leer lassen.


    [*] So lassen, wie es ist.


    [*] Nicht ankreuzen.
    [*] Email


    [*] Varchar


    [*] 255


    [*] Kein


    [*] So lassen, wie es ist.


    [*] So lassen, wie es ist.


    [*] Leer lassen.


    [*] So lassen, wie es ist.


    [*] Nicht ankreuzen.
    [*] Adresse


    [*] Varchar


    [*] 255


    [*] Kein


    [*] So lassen, wie es ist.


    [*] So lassen, wie es ist.


    [*] Leer lassen.


    [*] So lassen, wie es ist.


    [*] Nicht ankreuzen.
    [*] Telefonnummer


    [*] Varchar


    [*] 255


    [*] Kein


    [*] So lassen, wie es ist.


    [*] So lassen, wie es ist.


    [*] Leer lassen.


    [*] So lassen, wie es ist.


    [*] Nicht ankreuzen.
    [/table]


    Sobald wir dies haben, sind wir im phpmyadmin fertig.
    Nun kommen wir zum eigentlichen scripten.
    Wir erstellen im htdocs-Ordner eine neue Datei.
    Nennen wir sie "tutorial.php".
    Ihr solltet bereits Erfahrung mit PHP haben.

    Die Verbindung zur Datenbank

    Zunächst müssen wir eine Verbindung zur Datenbank aufbauen.
    Dies machen wir mit den Befehlen "mysql_connect" und "mysql_select_db".


    Der Eintrag
    Um etwas in die Datenbank zu schreiben, benutzen wir ein änliches Command.
    SQL besitzt einige eigene Syntax.
    Diese schreiben wir einfach in eine Variable.

    PHP
    $insert = "INSERT INTO user (Vorname, Nachname, Email, Adresse, 
    Telefonnummer) VALUES ('Michael', 'Pittino', 'OhRly@gmx.at', 'Dobra 
    Straße 40 | 9871 Seeboden', '06801448117')"; // user: Tabellenname, Vorname: Spaltenname 1, Nachname: Spaltenname 2, Email: Spaltenname 3, Adresse: Spaltenname 4, Telefonnummer: Spaltenname 5, Michael: Der Vorname, der in die Spalte "Vorname" kommt,  Pittino: Der Nachname, der in die Spalte "Nachname" kommt, usw.
    
    
    $_insert = mysql_query($insert);


    Daten abfragen
    Nun möchten wir auch unsere in die Datenbank geschriebenen Daten ausgeben.
    Dies machen wir so:


    Der komplette Script:


    Ich zeige euch nun noch, wie man die Daten ändert und wie man die Daten auch wieder löscht, jedoch schreibe ich dies in eine andere Datei, da es sonst Probleme mit dem Auslesen gibt.


    Daten ändern
    Wenn ihr bestimmte Daten wieder ändern wollt, könnt ihr das so machen:

    PHP
    <?php
    $sql = "UPDATE user Set Vorname = 'Klaus' WHERE ID = '1'"; // Ändert die Spalte "Vorname" der Tabelle "user" von "Michael" in "Klaus". (Von der ID 1).
    $update = mysql_query($sql);
    ?>


    Daten löschen
    So könnt ihr Daten aus der Datenbank löschen:

    PHP
    <?php
    $sql = "DELETE FROM user WHERE ID = '1'"; // Löscht den kompletten Eintrag aus der Tabelle "user" mit der ID "1".
    $delete = mysql_query($sql);
    ?>


    Ich habe das Tutorial eben geschrieben und nicht wirklich auf Rechtschreibfehler überprüft.
    Sollten welche enthalten sein, tut es mir leid.


    Ich hoffe das Tutorial hilft euch weiter.


    Best Regards, Michael.

  • Schön das du einige Teile einfach nicht erklärst... Das hilft auch sehr viel bei einem Tutorial, wie ich finde...
    Man sollte schon selbst Ahnung davon haben, und nicht kopieren. (Soll keine Anspielung sein, aber die Erkärung

    Zitat

    "$row->Vorname" gibt uns die Daten der Spalte "Vorname" usw.

    ist irgendwie fail... Zudem habe ich die Methode mit $row schon irgendwo mal gelesen. Aber das wäre eh mehr Zufall :D )


    Sonst ist das "Tutorial" von Aufbau her ganz ok. ;)

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Schön das du einige Teile einfach nicht erklärst... Das hilft auch sehr viel bei einem Tutorial, wie ich finde...
    Man sollte schon selbst Ahnung davon haben, und nicht kopieren. (Soll keine Anspielung sein, aber die Erkärung

    ist irgendwie fail... Zudem habe ich die Methode mit $row schon irgendwo mal gelesen. Aber das wäre eh mehr Zufall :D )


    Sonst ist das "Tutorial" von Aufbau her ganz ok. ;)

    Ich habe soviel wie Möglich mit Commands erklärt - Der Rest wie die Ausführung des Inserts usw. sollten durch das erforderliche PHP Grundwissen selbsterklärend sein.
    Ich habe das nicht kopiert, sondern selbst geschrieben.
    $row wird wohl immer als Auflistung benutzt, was es ja auch ist.
    Oder wie willst du sonst die Daten der Tabelle ausgeben?

  • Wieso wird das immer verwendet?
    Du kannst genauso gut auch $zeile schreiben... :huh:

    Natürlich kann ich, jedoch benutze ich allgemein englische Variablennamen.
    Ich wollte damit nur klarstellen, das ich es selbstgeschrieben, und nicht kopiert habe.


    Wenn du trotzdem der Meinung bist, ich habe es kopiert, solltest du lieber eine Quelle vorweißen, und mich nicht wegen eines allgemein öfter-verwendeten Variablennamen "beschuldigen". (Ja, du hast gesagt du willst mich nicht beschuldigen).

  • Für das Tutorial gebe ich dir mal 6/10, da du einen sehr wichtigen Teil übersprungen hast, nähmlich die verschiedenen Typen und weiteren Optionen beim Erstellen einer solchen Datenbank zu erklären. Desweiteren ist XAMPP nicht benötigt, wenn man seinen eigenen Server oder Webspace hat. XAMPP ist jediglich ein Apache mit ein paar weiteren Funktionen, der deinen PC zum Server macht. Außerdem funktionieren manche MySQL Anfragen dabei nicht immer. Desweiteren kann man eine Datenbank bzw. Tabelle auch im PHP Script mit CREATE DATABASE bzw. CREATE TABLE erstellen. Und zu allerletzt, du kannst dir beim Verbinden zur Datenbank eine Zeile sparen:


    PHP
    $db = new mysqli("host", "user", "passwort", "datenbank") or die('Es konnte keine Verbindung aufgebaut werden: '.mysqli_connect_error().');


    EDIT: Schreibfehler verbessert.

    Einmal editiert, zuletzt von GiS ()

  • Für das Tutorial gebe ich dir mal 6/10, da du einen sehr wichtigen Teil übersprungen hast, nähmlich die verschiedenen Typen und weiteren Optionen beim Erstellen einer solchen Datenbank zu erklären. Desweiteren ist XAMPP nicht benötigt, wenn man seinen eigenen Server oder Webspace hat. XAMPP ist jediglich ein Apache mit ein paar weiteren Funktionen, der deinen PC zum Server macht. Außerdem funktionieren manche MySQL Anfragen dabei nicht immer. Desweiteren kann man eine Datenbank bzw. Tabelle auch im PHP Script mit CREATE DATABASE bzw. CREATE TABLE erstellen. Und zu allerletzt, du kannst dir beim Verbinden zur Datenbank eine Zeile sparen:


    PHP
    $db = new mysqli("host", "user", "passwort", "datenbank") or die('Es konnte keine Verbindung aufgebaut werden: '.mysqli_connect_error().');


    EDIT: Schreibfehler verbessert.

    Nein man braucht kein Xampp - Jedoch glaube ich kaum, das ein Anfänger direkt einen Apache Webserver per Hand installieren wird. ;)
    Für die Optionen beim Erstellen der Datenbank kann man ja googlen -> Es geht eher um die PHP Scripts.

  • Wenn man nur einen bestimmten Datensatz auslesen will:


    Code
    $sql = "SELECT * FROM * WHERE ID = 1";
    $result = mysql_query($sql);
    $row = mysql_fetch_assoc($result); // bei einem Datensatz keine Schleife
    
    
    $row['Haus'] = "bla";
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen