Ergebnis 1 bis 20 von 321

Thema: Allgemeiner Fragethread

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von mitaki Beitrag anzeigen
    Eine ganz banale Idee:
    Würde sich etwas ändern, wenn du bei der letzten IF-Abfrage den „== true“-Abschnitt weglässt (der ohnehin nicht notwendig ist)?
    Ändert leider nichts.

    Zitat Zitat von mitaki Beitrag anzeigen
    Ansonnsten könntest du auch mal versuchen, die Dateien auf dem fehlerhaften Server zu löschen und neu hochzuladen, wie Demonking vorschlug, eventuell hat sich beim hochladen wirklich ein Fehler eingeschlichen.
    Neu hochladen?
    Naja ich erstelle und editiere sämtliche Dateien online, von daher kann man das vergessen.


    *Edit*
    Ich frag mich eigentlich, warum ich euch mit massig Quelltext zuspamme..

    PHP-Code:

    <?php

    $verbindung 
    mysql_connect ("localhost",
    "."".")
    or die (
    "keine Verbindung möglich.
     Benutzername oder Passwort sind falsch"
    );

    mysql_select_db(".")
    or die (
    "Die Datenbank existiert nicht.");

     
         
    $message  "hallo";

             
              
    $eintrag "INSERT INTO news
             (message)
             VALUES
             ('
    $message')";
            
             
    $eintragen mysql_query($eintrag); 
            
    ?>
    Allein dieses Script führt zu exakt demselben Fehler !

    Geändert von Antares (25.01.2007 um 21:48 Uhr)

  2. #2
    Zitat Zitat
    Der Server ist sehr seltsam.
    Letztens habe ich eine fehlerhafte PHP Datei inkludiert, doch es kam keine Fehlermeldung, sondern es wurde einfach nichts angezeigt.
    Ah, deine Administration will keine Fehlermedlungen für die Benutzer sichtbar machen.

    Füge bitte eine dieser Zeilen ganz oben in dein PHP-Skript ein:
    PHP-Code:
    /* PHP 4 */error_reporting(E_ALL);
    /* PHP 5 */error_reporting(E_ALL|E_STRICT); 
    Nachtrag:
    Zitat Zitat
    Allein dieses Script führt zu exakt demselben Fehler !
    Gut, wenn das nichts ergibt, frage bitte den Support des betroffenen Servers (sofern vorhanden).

    Geändert von mitaki (25.01.2007 um 21:59 Uhr)

  3. #3
    Also, so:

    PHP-Code:


    <?php

    /* PHP 4 */error_reporting(E_ALL);
    /* PHP 5 */error_reporting(E_ALL|E_STRICT); 

    $verbindung mysql_connect ("localhost",
    "."".")
    or die (
    "keine Verbindung möglich.
     Benutzername oder Passwort sind falsch"
    );

    mysql_select_db(".")
    or die (
    "Die Datenbank existiert nicht.");

     
         
    $message  "hallo";

             
              
    $eintrag "INSERT INTO news
             (message)
             VALUES
             ('
    $message')";
            
             
    $eintragen mysql_query($eintrag); 
            
    ?>

    Resultat: Seite bleibt leer (weiß); Nichts wird in die DB eingetragen.

  4. #4
    Zitat Zitat
    Füge bitte eine dieser Zeilen ganz oben in dein PHP-Skript ein:
    Ich habe die großen PHP-Versionen absichtlich getrennt, damit diese sich nicht in die Quere kommen.

    Wenn du deine PHP-Version nicht kennst kannst du sie über phpversion() ausgeben.

  5. #5
    Zitat Zitat von mitaki Beitrag anzeigen
    Ich habe die großen PHP-Versionen absichtlich getrennt, damit diese sich nicht in die Quere kommen.
    Sorry, mein Fehler.
    Ändert aber nichts.

    Zitat Zitat von mitaki Beitrag anzeigen
    Wenn du deine PHP-Version nicht kennst kannst du sie über phpversion() ausgeben.
    lol, nicht mal das funktioniert.
    Aber laut phpinfo() ist es 5

    Geändert von Antares (25.01.2007 um 22:18 Uhr)

  6. #6
    Zitat Zitat
    lol, nicht mal das funktioniert.
    Mit echo vorne dran?

    Ansonnsten hat dein Provider da wohl nur eine schlechte PHP-Immitation

    Naja, da das Eintragen ja funktioniert hilft wohl auch kein (echo) mysql_error() bzw. mysql_errno().

    Sorry, mehr fällt mir wirklich nicht ein.

  7. #7
    Hat auch keinen wirklichen Sinn mehr.
    Hab dem Besitzer empfohlen mal schnellstens den Webspaceanbieter zu wechseln.
    Trotzdem danke an alle, vorallem an mitaki

  8. #8

    [MySQL] LogDatei fuer MySQL Querys?

    Hi Leute,

    wie kann ich fuer meine MySQL Querys eine Log Datei Schreiben? Am besten in einer Funktion. Ich Stelle mir das so vor:
    PHP-Code:
    $query "SELECT ... WEHRE ...";
    $sql mysql_query($query) OR mysqlErrorLog(); 
    So stell ich mir das vor aber irgend wie geht das nicht KP wieso. =)

    Kennt jemand noch seiten wo ich Allgemeines zum Lesen ueber LogDatein mit PHP und MySQL finde?

  9. #9
    Zunächst würde ich den Aufruf der Logfunktion anders aufbauen.
    PHP-Code:
    $sql mysql_query'[...]' );
    if ( !
    $sql mysqlErrorLog(); 
    Dass es nicht funktioniert liegt daran, dass PHP (bzw. die MySQL-API) keine Funktion namens mysqlErrorLog() kennt. Diese müsstest du zunächst selbst erstellen.

    PHP-Code:
    function mysqlErrorLog() {

    /* Hier steht, was die Funktion machen soll. */


    In dieser Funktion möchtest du sicher mit Textdateien arbeiten. Beispielsweise deren bisherigen Inhalt auslesen, oben neuen Inhalt hinzufügen und das ganze dann wieder in die Textdatei speichern.
    Leider finde ich gerade keine guten und aktuellen Tutorials für das Arbeiten mit Textdateien :/
    Eventuell dieses, aber bitte nicht die short-tags übernehmen
    Für die Fehlerinformationen stehen PHP die Funktionen mysql_error() und mysql_errno() zur Verfügung.

  10. #10
    Zitat Zitat
    Dass es nicht funktioniert liegt daran, dass PHP (bzw. die MySQL-API) keine Funktion namens mysqlErrorLog() kennt. Diese müsstest du zunächst selbst erstellen.
    Das ist mir bewusst, das ist ja auch eine eigene Funktion und die wollte ich ja nun mit mysql_query() OR mysqlErrorLog() aufrufen. Ansich Funktionierte ja auch die Funktion nur halt nicht in Verbindung mit OR...

    ...

    Ah ich seh grad ich habe noch das die() vergessen. =)

    PHP-Code:
    $query "SELECT ... WEHRE ...";
    $sql mysql_query($query) OR die(mysqlErrorLog());
    # und dann noch die If abfragen. ;) 
    So sollts eigentlich aussehen.

  11. #11
    Zitat Zitat
    Ah ich seh grad ich habe noch das die() vergessen. =)
    Wobei die() der schlechteste aller Fehlerhandler ist. Nach die() wird das Skript nicht mehr weiterverarbeitet.

    PHP-Code:
    <?php
     
    echo 'test';
     die(
    'stirb');
     echo 
    'ende';
    ?>
    Siehste?

    Beim Testen mag das noch in Ordnung sein, aber bei einer öffentlichen WebApp wäre das unter Umständen fatal.

  12. #12
    Stimmt eigentlich. =)
    Mal gucken was ich so naechste Woche hingebastelt bekomme.

    Danke schon mal.

    Geändert von Blakkeight (27.01.2007 um 14:03 Uhr)

  13. #13
    Zitat Zitat von mitaki Beitrag anzeigen
    Wobei die() der schlechteste aller Fehlerhandler ist. Nach die() wird das Skript nicht mehr weiterverarbeitet.
    Naja, oft ist das ja genau das, was man will. o_O Man muss halt nur vorher alles machen, was man bei einem Fehler machen will, aber dann ist an die () oder exit doch nichts auszusetzen. .___.
    Es sei denn natürlich, der Fehler ist nicht so schwer und man kann trotzdem weitermachen...
    Zitat Zitat von Jay Beitrag anzeigen
    Das ist mir bewusst, das ist ja auch eine eigene Funktion und die wollte ich ja nun mit mysql_query() OR mysqlErrorLog() aufrufen. Ansich Funktionierte ja auch die Funktion nur halt nicht in Verbindung mit OR...
    Also dein Problem ist, dass selbst wenn mysql_query() "false" zurückgibt, mysqlErrorLog() nicht aufgerufen wird? o_O Erschiene mir merkwürdig, bei mir funktioniert das problemlos! Bist du dir sicher, dass es nicht aufgerufen wird, und nicht nur nicht funktioniert?
    Ansonsten würde ich das die() weglassen und stattdessen exit entweder in die Funktion schreiben, oder, noch besser, mitakis sauberere Version - ohne "or", dafür mit anschließender if-Abfrage - mit einem exit drin verwenden. Also in etwa:
    PHP-Code:
    $query 'SELECT ... WHERE ...';
    $sql mysql_query ($query$db); // Man sollte besser immer auch den Zeiger auf die Datenbank übergeben
    if (!$sql) {
        
    mysqlErrorLog ();
        exit;

    Zitat Zitat
    PHP-Code:
    $query "SELECT ... WEHRE ...";
    $sql mysql_query($query) OR die(mysqlErrorLog());
    # und dann noch die If abfragen. ;) 
    Ich denke zwar nicht, dass es das ist, aber du hast "WHERE" falsch geschrieben, auch im vorigen Post.

Berechtigungen

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