Geschwindigkeitsoptimierung bei DATENBANK-Connection

  • Kann man an der Geschwindigkeit irgendetwas optimieren?
    Mein Script schaut ja nur, ob der gewünschte Eintrag vorhanden ist und wenn ja, dann "zieht" es den in meine Seite rein.
    Ich habe gehört, dass das MEGA-CMS mit Template-Engine in Dustins Agentur in einer Sekunde alle schafft....da kann es doch nicht so bleiben, dass mein Miniscript auch eine Sekunde Laufzeit hat (Xampp).


    Schaut euch bitte einfach mal den Code an und sagt mir bitte, wie man ihn schneller machen/optimieren könnte.


    PHP
    <span class="syntaxhtml"><br /><section><br />                <span class="syntaxdefault"><?php<br />                        </span><span class="syntaxcomment">//Datenbankszugriffsdaten auswählen<br /></span><span class="syntaxdefault">                        include</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxstring">"include/xampp_www.php"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">                        $pageID </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> htmlentities</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'pageID'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">                        </span><span class="syntaxcomment">#bereinigen<br /><br /><br /></span><span class="syntaxdefault">                        </span><span class="syntaxcomment">//variablenzuweisung via MySQL<br /></span><span class="syntaxdefault">                        $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'error'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault">      </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> false</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> </span><span class="syntaxcomment"># kein Fehler<br /></span><span class="syntaxdefault">                        $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'connection'</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"> MYSQL_HOST</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> MYSQL_USER</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> MYSQL_PASS </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">                        $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'database'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault">   </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_select_db</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> MYSQL_NAME </span><span class="syntaxkeyword">);<br /><br /><br /></span><span class="syntaxdefault">                        if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!</span><span class="syntaxdefault">$mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'connection'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> OR </span><span class="syntaxkeyword">!</span><span class="syntaxdefault">$mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'database'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">                        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                            $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'error'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> true</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                            </span><span class="syntaxcomment"># MySQL Fehler<br /><br /></span><span class="syntaxdefault">                            $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'error_mes'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'<p><strong>'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> mysql_errno</span><span class="syntaxkeyword">()</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxstring">': </strong>'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> mysql_error</span><span class="syntaxkeyword">()</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxstring">'</p>'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                        </span><span class="syntaxkeyword">}<br /><br /><br /></span><span class="syntaxdefault">                        if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!</span><span class="syntaxdefault">$mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'error'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">                        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                            $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'query'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"SELECT `ID` , `Inhalt` FROM `cms_daten` WHERE<br />                            `ID` = '"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $pageID </span><span class="syntaxkeyword">.</span><span class="syntaxstring">"'<br />                            LIMIT 1;"</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">                            $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'return'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'query'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">                            $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'num_rows'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_num_rows</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'return'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">                            </span><span class="syntaxcomment"># mysql_num_rows zählt die anzahl<br /></span><span class="syntaxdefault">                            </span><span class="syntaxcomment"># der zurückgegebenen zeilen,<br /></span><span class="syntaxdefault">                            </span><span class="syntaxcomment"># da wir "LIMIT 1" angaben gilt:<br /></span><span class="syntaxdefault">                            </span><span class="syntaxcomment"># 1 = daten stimmen<br /></span><span class="syntaxdefault">                            </span><span class="syntaxcomment"># 0 = daten stimmen nicht<br /><br /></span><span class="syntaxdefault">                                if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> 1 </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'num_rows'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">                                </span><span class="syntaxcomment">#wenn 'datei' vorhanden ist<br /></span><span class="syntaxdefault">                                </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                                    $rückgabewert </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_fetch_assoc</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'return'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">                                    echo $rückgabewert</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'Inhalt'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">                                                      </span><span class="syntaxcomment">#betreffende spalte<br /><br /></span><span class="syntaxdefault">                                    mysql_free_result</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'return'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">                                    </span><span class="syntaxcomment">#speicher wird freigegeben<br /></span><span class="syntaxdefault">                                </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">                                else<br />                                </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                                    </span><span class="syntaxcomment">//404 includen<br /></span><span class="syntaxdefault">                                    </span><span class="syntaxcomment"># 404 nicht in datenbank nehmen<br /></span><span class="syntaxdefault">                                    echo </span><span class="syntaxstring">"Datei nicht vorhanden"</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">                        else<br />                        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                            print </span><span class="syntaxstring">'<p>Leider gab es einen internen Fehler: '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'error_mes'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxstring">'</p>'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                        </span><span class="syntaxkeyword">}<br /><br /><br /></span><span class="syntaxdefault">                ?><br /></span>        </section><br /></span>


    MfG Phip S.

  • Hallo!


    Mir persönlich ist nichts aufgefallen, was man optimieren kann, ich aber auch kein Experte.
    Dauert das Skript wirklich eine Sekunde? Vielleicht kommt es dir nur, Übertragung usw. mit eingerechnet, so vor.


    Aber mir ist sonst noch was aufgefallen:

    • Dringendes Appell an die Sicherheit der Besucher deiner Seite (soweit vorhanden): Lass doch die Get-Variable auch mit mysql_real_escape() escapen
    • Das Ergebnis deiner Datenbankabfrage könntest du auch auf fehlschlag überprüfen lassen. Geeignet dazu wären Exceptions.


    Gruß,
    webmaster3000

  • Wo führst du das Skript denn aus?
    Die Geschwindigkeit hängt auch sehr stark vom Server ab, ich glaube kaum, dass Sarkkans Agentur Server hat, die völlig mit Benutzern zugemüllt sind und sich jedes bischen Systemleistung mit anderen teilen müssen, wohingegen Freehoste, wie z.B. bplaced, ziemlich lahm sind.


    Du kannst die wirkliche Ausführzeit auch mit der Funktion microtime() ausrechnen.

  • durchschnittlich dauert es noch 0,450000 Millisekunden.
    Der vollständigkeihalber kompletter code:


    PS: Es kann doch net sein, dass es bei meinem pc mit 4(!) i7, (8GB) DDR3 - Ram und Windows 7 64-bit system sooo langsam läuft. .___.


    PHP
    <span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br /><br />    </span><span class="syntaxcomment">/*---------------------------CMS beginnt--------------------------*/<br /></span><span class="syntaxdefault">    session_start</span><span class="syntaxkeyword">();<br /><br /><br /></span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $_SESSION</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'eingeloggt'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!==</span><span class="syntaxdefault"> TRUE </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        </span><span class="syntaxcomment">//nicht eingeloggt müssen die Seite verlassen<br /></span><span class="syntaxdefault">        header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'Location: http://localhost/in_development/p-schuster.sarkkan.de/cms/login.php'</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">        </span><span class="syntaxcomment">//muss immer angepasst werden; entweder XAMPP oder WWW<br /></span><span class="syntaxdefault">        die</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    elseif</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'pageID'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</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="syntaxcomment">//eingeloggte dürfen auf seite bleiben<br /></span><span class="syntaxdefault">        header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'Location:'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'PHP_SELF'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> </span><span class="syntaxstring">'?pageID=1'</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">        die</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /><br /><br /></span><span class="syntaxdefault">?><br /></span><!DOCTYPE html><br /><html><br /><br /><head><br />    <title>Administrationsbereich</title><br /><br />    <meta charset="UTF-8" /><br />    <link href="style.css" type="text/css" rel="stylesheet" /><br />    <link href="favicon.ico" type="image/x-icon" rel="shortcut icon" /><br /></head><br /><body><br /><br />        <nav><br />        <a href="index.php?pageID=0">Dateien bearbeiten</a><br />        <a href="index.php?pageID=1">Seite verwalten</a><br />        <a href="index.php?pageID=2">Ausloggen</a><br />        </nav><br /><br />        <section><br />                <span class="syntaxdefault"><?php<br />                        $now </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> microtime</span><span class="syntaxkeyword">();<br /><br /><br /></span><span class="syntaxdefault">                        </span><span class="syntaxcomment">//Datenbankszugriffsdaten auswählen<br /></span><span class="syntaxdefault">                        include</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxstring">"include/xampp_www.php"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">                        $pageID </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> htmlentities</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'pageID'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">                        </span><span class="syntaxcomment">#bereinigen<br /><br /><br /></span><span class="syntaxdefault">                        </span><span class="syntaxcomment">//variablenzuweisung via MySQL<br /></span><span class="syntaxdefault">                        $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'error'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault">      </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> false</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> </span><span class="syntaxcomment"># kein Fehler<br /></span><span class="syntaxdefault">                        $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'connection'</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"> MYSQL_HOST</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> MYSQL_USER</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> MYSQL_PASS </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">                        $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'database'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault">   </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_select_db</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> MYSQL_NAME </span><span class="syntaxkeyword">);<br /><br /><br /></span><span class="syntaxdefault">                        if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!</span><span class="syntaxdefault">$mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'connection'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> OR </span><span class="syntaxkeyword">!</span><span class="syntaxdefault">$mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'database'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">                        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                            $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'error'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> true</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                            </span><span class="syntaxcomment"># MySQL Fehler<br /><br /></span><span class="syntaxdefault">                            $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'error_mes'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'<p><strong>'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> mysql_errno</span><span class="syntaxkeyword">()</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxstring">': </strong>'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> mysql_error</span><span class="syntaxkeyword">()</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxstring">'</p>'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                        </span><span class="syntaxkeyword">}<br /><br /><br /></span><span class="syntaxdefault">                        if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!</span><span class="syntaxdefault">$mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'error'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">                        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                            $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'query'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"SELECT `ID` , `Inhalt` FROM `cms_daten` WHERE<br />                            `ID` = '"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $pageID </span><span class="syntaxkeyword">.</span><span class="syntaxstring">"'<br />                            LIMIT 1;"</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">                            $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'return'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_query</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'query'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxdefault">                            $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'num_rows'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_num_rows</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'return'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">                            </span><span class="syntaxcomment"># mysql_num_rows zählt die anzahl<br /></span><span class="syntaxdefault">                            </span><span class="syntaxcomment"># der zurückgegebenen zeilen,<br /></span><span class="syntaxdefault">                            </span><span class="syntaxcomment"># da wir "LIMIT 1" angaben gilt:<br /></span><span class="syntaxdefault">                            </span><span class="syntaxcomment"># 1 = daten stimmen<br /></span><span class="syntaxdefault">                            </span><span class="syntaxcomment"># 0 = daten stimmen nicht<br /><br /></span><span class="syntaxdefault">                                if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> 1 </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'num_rows'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">                                </span><span class="syntaxcomment">#wenn 'datei' vorhanden ist<br /></span><span class="syntaxdefault">                                </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                                    $rückgabewert </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_fetch_assoc</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'return'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">                                    echo $rückgabewert</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'Inhalt'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">                                                      </span><span class="syntaxcomment">#betreffende spalte<br /></span><span class="syntaxdefault">                                </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">                                else<br />                                </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                                    </span><span class="syntaxcomment">//404 includen<br /></span><span class="syntaxdefault">                                    </span><span class="syntaxcomment"># 404 nicht in datenbank nehmen<br /></span><span class="syntaxdefault">                                    echo </span><span class="syntaxstring">"Datei nicht vorhanden"</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">                        else<br />                        </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">                            print </span><span class="syntaxstring">'<p>Leider gab es einen internen Fehler: '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $mysql</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'error_mes'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxstring">'</p>'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                        </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">                     echo </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">microtime</span><span class="syntaxkeyword">()</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">-</span><span class="syntaxdefault">$now </span><span class="syntaxkeyword">).</span><span class="syntaxstring">" Millisekunden Laufzeit"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">                ?><br /></span>        </section><br /><br /></body><br /></html><br /></span>
  • Zitat von &quot;webmaster3000&quot;
    • Das Ergebnis deiner Datenbankabfrage könntest du auch auf fehlschlag überprüfen lassen. Geeignet dazu wären Exceptions.



    Macht es doch.??
    Es includet dann die 404.php wenn eintrag vorhanden ist, oder gibt aus "interner fehler" bei datenbank-connection => fehlschlag.


    oder was meinst du?

  • Ich meinte nicht, dass du die Anzahl der Zeilen überprüfst, sondern das Ergebnis der Abfrage ($mysql['return']).
    Das kann nämlich FALSE sein, z. B. wenn die abgefragte Tabelle nicht existiert oder Ein SQL-Syntaxfehler auftrat.


    Zitat von &quot;drPHIP132&quot;

    PS: Es kann doch net sein, dass es bei meinem pc mit 4(!) i7, (8GB) DDR3 - Ram und Windows 7 64-bit system sooo langsam läuft. .___.


    64 Bit sind hier eher schlecht, weil XAMPP und damit Apache, PHP und MySQL als 32-Bit-Prozess ausgeführt werden, was langsamer ist, oder gibt es XAMPP für Windows als 64-Bit-Version?


    Gruß,
    webmaster3000

  • Zitat von &quot;webmaster3000&quot;

    Ich meinte nicht, dass du die Anzahl der Zeilen überprüfst, sondern das Ergebnis der Abfrage ($mysql['return']).
    Das kann nämlich FALSE sein, z. B. wenn die abgefragte Tabelle nicht existiert oder Ein SQL-Syntaxfehler auftrat.


    Okey, aus der Sicht eines Anfängers der zum ersten mal von Exception hört.. Ich soll also irgendwie (bzw. wenn ich mir nur den Code deines Links angeschaut habe) mittels Exceptions also mit try versuchen herauszufinden, ob mein Ergebnis false ist.. :roll:
    Ich finde Try&Catch ja nie wirklich schön, eine If-Anweisung reicht vollkommen aus, mal daovn abgesehen das in einem Fertigen Projekt eigentlich an dieser Stelle niemals wieder Fehler in dem Sinne eines "Catchable Errors" Auftretten würden.
    Hier gibt es nur die Möglichkeit zwischen
    -> Eingabe war gültig, Ergebnis ist Seite
    -> Ungültige Eingabe, kein Ergebnis
    An dem SQL-Code wird sich nie groß was ändern.

  • Zitat von &quot;webmaster3000&quot;

    64 Bit sind hier eher schlecht, weil XAMPP und damit Apache, PHP und MySQL als 32-Bit-Prozess ausgeführt werden, was langsamer ist, oder gibt es XAMPP für Windows als 64-Bit-Version?


    Ich steig auch mal kurz in das OffTopic ein:


    Ein 64 Bit System funktioniert genau wie ein 32 Bit System, alle 32 Bit Programme laufen genau so wie auf 32 Bit Systemen, einziger Unterschied ist das 64 Bit Programme unterstützt werden, zumindest sollte das so sein, klappen tut das meist auch nicht, also läuft XAMPP auf einem 32 Bit System genau so gut wie auf einem 64 Bit System.


    Wenn man jetzt von einem super starken Prozessor ausgeht wird man bei Webanwendungen (!) wohl kaum einen Unterschied der einzelnen Leistungsklassen feststellen können, es geht hier immerhin von Datenmengen in maximal kiloBytes (wenn nicht macht euch mal Gedanken, das ganze muss blitzschnell zum Besucher übertragen werden :!: ) die selbst für uralte Prozessoren ein Witz an Rechenleistung sind.

Jetzt mitmachen!

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