Inhalt aus MySQL-Datenbank lesen

  • Hallo


    Folgende Situation:


    Bei meiner Website wird der Inhalt (Container div#col_left und div#col_right) mit folgendem Skript in die Datei "index.php" eingebunden:


    Datei: index.php

    PHP
    <span class="syntaxdefault"><?php<br />    include</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'config.php'</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    <br />    if</span><span class="syntaxkeyword">(isset(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'section'</span><span class="syntaxkeyword">])</span><span class="syntaxdefault"> AND isset</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$file</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'section'</span><span class="syntaxkeyword">]]))</span><span class="syntaxdefault"> <br />    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        if</span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$file</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'section'</span><span class="syntaxkeyword">]]))</span><span class="syntaxdefault"> echo </span><span class="syntaxstring">'<div id="col_left" class="grid_4"></div><div id="col_right" class="grid_8"><h2>Error 404 - Not Found</h2><p>Die aufgeforderte Seite wurde nicht gefunden.</p></div>'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">    include $file</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'section'</span><span class="syntaxkeyword">]];</span><span class="syntaxdefault">  <br />    </span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> else <br />        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        include $file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'index'</span><span class="syntaxkeyword">];</span><span class="syntaxdefault">  <br />        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">?></span>


    Datei: config.php

    PHP
    <span class="syntaxdefault"><?php <br />    </span><span class="syntaxcomment">// config.php<br /></span><span class="syntaxdefault">    <br />    </span><span class="syntaxcomment">// Erstellt einen neuen Array $dateien<br /></span><span class="syntaxdefault">    $file </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">    <br />    </span><span class="syntaxcomment">// für jede Section ein neue Variable <br /></span><span class="syntaxdefault">    $file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'index'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"start.php"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    $file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'impressum'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"impressum.php"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    $file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'recht'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"recht.php"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    $file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'persona'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"persona.php"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    $file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'sitemap'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"sitemap.php"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    $file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'css'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"css.php"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    $file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'html'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"html.php"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    $file</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'webdesign'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"webdesign.php"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">?></span>


    Das umständliche an diesem System ist, dass ich für jeden Inhalt resp. jede neue Seite auch ebenfalls eine PHP-Datei mit dem einzubindenden Inhalt erstellen muss.


    Nun meine Frage an Euch: wie kann ich die jeweiligen Inhalte in einer Datenbank speichern und schliesslich die obgenannten Skripte umschreiben, das die Inhalte aus der Datenbank gelesen werden und in der Datei "index.php" eingefügt werden. Ich bin noch nicht so der Hengst, was PHP betrifft, also verschont mich, falls diese Skripte schon Fehler beinhalten :oops:


    Danke für Eure Hilfe!

  • Wer hätte Gedacht, dass ich dir mal helfen "soll" ;D


    Erst mal einiges Allgemeines:
    Was mir als erstes schon mal auffällt ist, dass du überprüfst, ob es in dem Array $file ein Eintrag mit dem Schlüssel $_GET['section'] gibt.. wenn dies nicht existiert kommt man automatisch zur Index zurück, wäre es da nicht Sinnvoller auch zur 404'er zu kommen? :)
    Also überprüfst du einfach ob $_GET['section'] nicht null ist und dann würde ich erst überprüfen, ob es diesen Eintrag überhaupt gibt und im Fehlerfall die 404'er ausgeben :)
    Und noch ein kleiner Performance Tipp:
    Anstelle von isset() (und empty) lieber soetwas wie $_GET['section'] != "" verwenden, eine Variabel die nicht existiert hat auch keinen Wert. (Könntest also theoretisch auch mit != null machen.)
    [Diese Technik ist meine ich 30x Schneller als isset() :) Finde aber gerade leider den Artikel nicht mehr.. da hatte einer die genauen Zahlen gezeigt gehabt :/ ]


    Nun zu deinem eigentlichen Problem:(Wasn Zufall, dass ich gerade an meinem cms arbeite :D)
    Wie weit bist du den eigentlich überhaupt mit MySQL? Ich zeige dir mal meine Standard Datenbankklasse:

    PHP
    <span class="syntaxdefault"><?php<br /><br />class Database<br /></span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault">    private $verbindung</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    public $database</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">// Beim erstellen des Objektes<br /></span><span class="syntaxdefault">    public function Database</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$ip</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $user</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $password</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $database</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">verbindung </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_connect</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$ip</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $user</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $password</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">        or die</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"keine Verbindung möglich.Benutzername oder Passwort sind falsch"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">        $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $database</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">selectDatabase</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$database</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">// Nach ablauf des Scripts, zum verbindung schließen<br /></span><span class="syntaxdefault">    public function __destruct</span><span class="syntaxkeyword">(){<br /></span><span class="syntaxdefault">        mysql_close</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">verbindung</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">// Zum Anwählen der Datenbank<br /></span><span class="syntaxdefault">    public function selectDatabase</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$database</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        mysql_select_db</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$database</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">verbindung</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">        or die</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Die Datenbank existiert nicht."</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    public function query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$query</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        return mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$query</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">verbindung</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /><br /><br /></span><span class="syntaxdefault">    private function escapeString</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$string</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        return mysql_real_escape_string</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$string</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">verbindung</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">/* fetchField<br />     * liefert die Feldnamen einer Tabelle<br />     * @$table = Tabellenname, deren Felder ausgegeben werden soll<br />     * return = liefert String, der geignet ist in INSERT verwendet zu werden */<br /><br /></span><span class="syntaxdefault">    private function fetchField</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        $field </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_fetch_field</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT * FROM `$this->database`.`$table`"</span><span class="syntaxkeyword">),</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">        $result </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'`'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $field</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">name </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">'`'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">        for</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$field </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">mysql_fetch_field</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT * FROM `$this->database`.`$table`"</span><span class="syntaxkeyword">),</span><span class="syntaxdefault"> $i</span><span class="syntaxkeyword">));</span><span class="syntaxdefault"> $i</span><span class="syntaxkeyword">++){<br /></span><span class="syntaxdefault">            $result </span><span class="syntaxkeyword">.=</span><span class="syntaxdefault"> </span><span class="syntaxstring">', `'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $field</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">name </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">'`'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">        return $result</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">/* Inhalte in Datenbank eintragen<br />     * @table = Tabelle in die Eingetragen werden soll<br />     * @content = Array mit dem Inhalt */<br /></span><span class="syntaxdefault">    public function insertInto</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $content</span><span class="syntaxkeyword">){<br /><br /></span><span class="syntaxdefault">        $insert </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">;<br /><br /><br /><br /><br /></span><span class="syntaxdefault">        foreach</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$content as $value</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">            $insert </span><span class="syntaxkeyword">.=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"'$value',"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">        $query </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"INSERT INTO `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"` ("</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fetchField</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">).</span><span class="syntaxstring">") VALUES ("</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">substr</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$insert</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">-</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">).</span><span class="syntaxstring">");"</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">        return $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$query</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">/* Liefert den Inhalt einer Reihe<br />     * @table = Tabelle aus der gelesen werden soll<br />     * @condition = Die WHERE-Bedingung */<br /></span><span class="syntaxdefault">    public function selectContent</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $condition</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        return mysql_fetch_object</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT * FROM  `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"` WHERE $condition"</span><span class="syntaxkeyword">));<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br />    </span><span class="syntaxcomment">// Wie selectContent()<br />    </span><span class="syntaxdefault">public </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">deleteContent</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$condition</span><span class="syntaxkeyword">){<br />        return </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"DELETE FROM `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"` WHERE "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$condition</span><span class="syntaxkeyword">.</span><span class="syntaxstring">";"</span><span class="syntaxkeyword">);<br />    }<br />}<br /><br /></span><span class="syntaxdefault">?></span>

    Für dich sogar um 2 Funktionen und Kommentaren erweitert ;)
    Grundsätzlich musst du nun Anfangs eine Verbindung aufbauen, indem du ein neues Object Erzeugst:

    PHP
    <span class="syntaxdefault">$db </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> new Database</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"localhost"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $User</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $Password</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $Database</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> </span>

    Willst du nun irgendetwas in die Datenbank einfügen dann nimmst du die Funktion insertInto():

    PHP
    <span class="syntaxdefault">$db</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">insertInto</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"article"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'NULL'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> time</span><span class="syntaxkeyword">(),</span><span class="syntaxdefault"> </span><span class="syntaxstring">'Meine Seite'</span><span class="syntaxkeyword">));</span><span class="syntaxdefault"> </span>

    (Erfordert, dass du vorher eine Datenbank angelegt hast, außerdem müssen es genau so viele Array-Einträge sein, wie Spalten in der Tabelle)


    Zum Ausgeben brauchst du nun folgenden Code:

    PHP
    <span class="syntaxdefault">$row </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $db</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">selectContent</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"article"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"idArticle = '1'"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">echo $row</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">content</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> </span>


    Dein Code könnte also nun ungefähr so aussehen:

    PHP
    <span class="syntaxdefault">$db </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> new Database</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"localhost"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $User</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $Password</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $Database</span><span class="syntaxkeyword">);<br />if(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'section'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(!(</span><span class="syntaxdefault">$row </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $db</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">selectContent</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Content"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"name = '"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'section'</span><span class="syntaxkeyword">].</span><span class="syntaxstring">"'"</span><span class="syntaxkeyword">)){<br /></span><span class="syntaxdefault">        echo </span><span class="syntaxstring">'Fehler 404!'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> else </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        echo $row</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">content</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// anstelle von Content, den Spaltennamen, wo dein Text drin steht.<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br />}</span><span class="syntaxdefault"> else </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    $row </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $db</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">selectContent</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Content"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"name = 'index'"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    echo $row</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">content</span><span class="syntaxkeyword">;<br />}</span><span class="syntaxdefault"> </span>


    Hoffe konnte dir helfen :)
    Bei Fragen stehe ich dir gerne zur Verfügung^^ (Und natürlich auch, falls irgendwelche unvorhergesehene Fehler auftreten sollten :D)
    Sarkkan

  • Wenn du deine Inhalte jetzt noch leicht ändern willst, fehlt noch eine UPDATE-Funktion: (Hab ich jetzt nicht getestet, müsstest du so in Sarkkans Klasse einfügen können)

    PHP
    <span class="syntaxdefault"><br />public </span><span class="syntaxkeyword">function </span><span class="syntaxdefault">update</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$updates</span><span class="syntaxkeyword">) {<br />    </span><span class="syntaxdefault">$query </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"UPDATE `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`$table` SET"</span><span class="syntaxkeyword">;<br />    foreach (</span><span class="syntaxdefault">$updates </span><span class="syntaxkeyword">as </span><span class="syntaxdefault">$key </span><span class="syntaxkeyword">=> </span><span class="syntaxdefault">$value</span><span class="syntaxkeyword">) {<br />        </span><span class="syntaxdefault">$query </span><span class="syntaxkeyword">.= </span><span class="syntaxstring">" $key = '$value',"</span><span class="syntaxkeyword">;<br />    }<br />    return </span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">substr</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$query</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">0</span><span class="syntaxkeyword">, -</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">).</span><span class="syntaxstring">";"</span><span class="syntaxkeyword">);<br />}<br /> </span><span class="syntaxdefault"></span>


    Als $updates muss ein assoziates Array mit den Feldnamen als Schlüsseln genommen werden.

    PHP
    <span class="syntaxdefault">$db</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">update</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"article"</span><span class="syntaxkeyword">, array(</span><span class="syntaxstring">"titel" </span><span class="syntaxkeyword">=> </span><span class="syntaxstring">"Test"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"datum" </span><span class="syntaxkeyword">=> </span><span class="syntaxdefault">time</span><span class="syntaxkeyword">(), </span><span class="syntaxstring">"beschreibung" </span><span class="syntaxkeyword">=> </span><span class="syntaxstring">"Dies ist eine Seite"</span><span class="syntaxkeyword">)); </span><span class="syntaxdefault"></span>


    Sarkkan: Wozu hast du in der Klasse die private Methode escapeString, die in den anderen Methoden gar nicht benutzt wird?

  • Hallo Sarkkan und Sören


    puh, nur das lesen hat mich schon ziemlich überrumpelt. Musste schon zweimal drüber um ein kleiner Überblick zu verschaffen. Ich muss mir das ganze durch den Kopf gehen lassen und sonst noch einige Dinge nachlesen. Ich melde mich wieder wenn Fragen auftauchen.


    Dankeschön!

  • So, dann auch noch mal für Sören die Komplette Klasse, inklusive der automatisch verwendeten Funktion 'escapeString'.
    Alles Ausführlich mit Kommentaren versehen und Sörens korrigierte Version von update ist ebenfalls drin :D

    PHP
    <span class="syntaxdefault"><?php<br /><br />class Database<br /></span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault">    private $database</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    private $verbindung</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">/* ~Beim erstellen des Objektes~<br />     * Baut Verbindung zum Server, sowie wenn erwünscht zu einer Datenbank, auf<br />     * string @ip       = Ip der Datenbank (o. Localhost)<br />     * string @user     = Benutzername für die Datenbank<br />     * string @password = Passwort des Benutzers<br />     *[string @database = NULL = Die Datenbank, die angewählt werden soll] */<br /></span><span class="syntaxdefault">    public function Database</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$serverAddress</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $user</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $password</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $database </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">verbindung </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">mysql_connect</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$serverAddress</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $user</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $password</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">        or die</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"<h3>Keine Verbindung zur Datenbank möglich! Benutzername oder Passwort sind Falsch</h3>"</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">        if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$database </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">            $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">selectDatabase</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$database</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">/* Nach ablauf des Scripts, zum verbindung schließen */<br /></span><span class="syntaxdefault">    public function __destruct</span><span class="syntaxkeyword">(){<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">mysql_close</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">verbindung</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">/* Zum Anwählen einer Datenbank<br />     * string @database = Name der Datenbank, auf die Zugegriffen werden soll */<br /></span><span class="syntaxdefault">    public function selectDatabase</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$database</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $database</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">mysql_select_db</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$database</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">verbindung</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">        or die</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"<h3>Fehler beim Aufbauen einer Verbindung zur Datenbank! M&ouml;glicherweise existiert die Datenbank nicht.</h3>"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">/* Sendet eine Anfrage an die Datenbank<br />     * string @query = Die Anfrage */<br /></span><span class="syntaxdefault">    public function query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$query</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        return mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$query</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">verbindung</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">/* Maskiert einen String, nach der Datenbank kodierung<br />     * string @string = Der zu maskierende String */<br /></span><span class="syntaxdefault">    private function escapeString</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$string</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        return mysql_real_escape_string</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$string</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">verbindung</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">/* Liefert die Feldnamen einer Tabelle<br />     * string @$table = Tabellenname, deren Felder ausgegeben werden soll */<br /></span><span class="syntaxdefault">    private function fetchField</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        $field </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_fetch_field</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT * FROM `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`"</span><span class="syntaxkeyword">),</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">        or die</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"<h3>Fehler beim auslesen der Tabellenfelder!</h3>"</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">        $result </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'`'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $field</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">name </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">'`'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">        for</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$field </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">mysql_fetch_field</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT * FROM `$this->database`.`$table`"</span><span class="syntaxkeyword">),</span><span class="syntaxdefault"> $i</span><span class="syntaxkeyword">));</span><span class="syntaxdefault"> $i</span><span class="syntaxkeyword">++){<br /></span><span class="syntaxdefault">            $result </span><span class="syntaxkeyword">.=</span><span class="syntaxdefault"> </span><span class="syntaxstring">', `'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $field</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">name </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">'`'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">        return $result</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">/* Inhalte in Datenbank eintragen<br />     * string @table   = Tabelle in die Eingetragen werden soll<br />     * array  @content = Inhalt der Eingefügt werden soll */<br /></span><span class="syntaxdefault">    public function insertInto</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> array $content</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        $insert </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">        foreach</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$content as $value</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">            $insert </span><span class="syntaxkeyword">.=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"'"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">escapeString</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$value</span><span class="syntaxkeyword">).</span><span class="syntaxstring">"',"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">        $query </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"INSERT INTO `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"` ("</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">fetchField</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">).</span><span class="syntaxstring">") VALUES ("</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">substr</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$insert</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">-</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">).</span><span class="syntaxstring">");"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        return $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$query</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">/* Liefert den Inhalt einer Reihe als Objekt wieder (falls nichts anderes angegeben)<br />     * string @table        = Tabelle aus der gelesen werden soll<br />     * string @condition    = Die WHERE-Bedingung<br />     *[string @cols = '*'   = Die Spalten, die Ausgelesen werden sollen]<br />     *[string @methode = "" = In welcher Form das Ergebnis ausgegeben werden soll]<br />     *[string @field = ""   = ggf. Feldinformationen (siehe PHP-Manual)] */<br /></span><span class="syntaxdefault">    public function selectContent</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $condition</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $cols </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'*'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $methode </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $field </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$methode </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">            return mysql_fetch_object</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$cols</span><span class="syntaxkeyword">.</span><span class="syntaxstring">" FROM  `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"` WHERE "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$condition</span><span class="syntaxkeyword">));<br /></span><span class="syntaxdefault">        else </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            switch</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$methode</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">                case </span><span class="syntaxstring">"array"</span><span class="syntaxkeyword">:<br /></span><span class="syntaxdefault">                    $field </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$field </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">?</span><span class="syntaxdefault"> MYSQL_BOTH </span><span class="syntaxkeyword">:</span><span class="syntaxdefault"> $field</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                    return mysql_fetch_array</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$cols</span><span class="syntaxkeyword">.</span><span class="syntaxstring">" FROM  `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"` WHERE "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$condition</span><span class="syntaxkeyword">),</span><span class="syntaxdefault"> $field</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">                case </span><span class="syntaxstring">"assoc"</span><span class="syntaxkeyword">:<br /></span><span class="syntaxdefault">                    return mysql_fetch_assoc</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$cols</span><span class="syntaxkeyword">.</span><span class="syntaxstring">" FROM  `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"` WHERE "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$condition</span><span class="syntaxkeyword">));<br /><br /></span><span class="syntaxdefault">                case </span><span class="syntaxstring">"field"</span><span class="syntaxkeyword">:<br /></span><span class="syntaxdefault">                    $field </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$field </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">?</span><span class="syntaxdefault"> 0 </span><span class="syntaxkeyword">:</span><span class="syntaxdefault"> $field</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                    return mysql_fetch_field</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$cols</span><span class="syntaxkeyword">.</span><span class="syntaxstring">" FROM  `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"` WHERE "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$condition</span><span class="syntaxkeyword">),</span><span class="syntaxdefault"> $field</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">                case </span><span class="syntaxstring">"lengths"</span><span class="syntaxkeyword">:<br /></span><span class="syntaxdefault">                    return mysql_fetch_lengths</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$cols</span><span class="syntaxkeyword">.</span><span class="syntaxstring">" FROM  `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"` WHERE "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$condition</span><span class="syntaxkeyword">));<br /><br /></span><span class="syntaxdefault">                case </span><span class="syntaxstring">"row"</span><span class="syntaxkeyword">:<br /></span><span class="syntaxdefault">                    return mysql_fetch_row</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"SELECT "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$cols</span><span class="syntaxkeyword">.</span><span class="syntaxstring">" FROM  `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"` WHERE "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$condition</span><span class="syntaxkeyword">));<br /><br /></span><span class="syntaxdefault">                default</span><span class="syntaxkeyword">:<br /></span><span class="syntaxdefault">                    die</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Typfehler bei Auslieferung des Dateisatzes!"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">            </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">/* Löscht alle Einträge aus $table, die auf $condition zutreffen<br />     * string @table     = Tabelle aus der gelesen werden soll<br />     * string @condition = Die WHERE-Bedingung */<br /></span><span class="syntaxdefault">    public function deleteContent</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $condition</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">        return $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"DELETE FROM `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"` WHERE "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$condition</span><span class="syntaxkeyword">.</span><span class="syntaxstring">";"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxcomment">/* Aktualisiert Inhalte in der Datenbank<br />     * string @table     = Tabelle in der Änderungen vorgenommen werden sollen<br />     * array  @update    = Werte, die geändert werden sollen, Schlüssel gibt die Spalte an<br />     * string @condition = Die WHERE-Bedingung */<br /></span><span class="syntaxdefault">    public function updateContent</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$table</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">array $updates</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $condition</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        $query </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"UPDATE `"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">database</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"`.`$table` SET"</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">        foreach </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$updates as $key </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> $value</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            $query </span><span class="syntaxkeyword">.=</span><span class="syntaxdefault"> </span><span class="syntaxstring">" $key = '"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">escapeString</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$value</span><span class="syntaxkeyword">).</span><span class="syntaxstring">"',"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">        return $this</span><span class="syntaxkeyword">-></span><span class="syntaxdefault">query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">substr</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$query</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">-</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">).</span><span class="syntaxstring">" WHERE "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$condition</span><span class="syntaxkeyword">.</span><span class="syntaxstring">";"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br />}<br /><br /></span><span class="syntaxdefault">?></span>
  • @ Sarkkan


    Darf ich kurz fragen wo der Konstruktor ist? Ein Auto das nicht in der Werkstatt zusammengebaut wurde fährt nicht.


    Objektorientiert gesehen würdest du für alles was etwas ausliest/ändert/einträgt eine 2. Klasse auf der Hauptklasse aufbauen, sonst ist das ganze nur eine (ja fast sinnlose) Funktionssammlung.

  • Die Methode "Database" ist der Konstruktor, da sie den selben Namen, wie die Klasse hat.


    Wenn man vollständig objektorientiert arbeiten möchte, kann man das so machen, aber man kann die Klasse ja auch in "normalem" prozeduralen Code benutzen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!