Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Meine Datenbankklasse verbindet nichtmehr mit der Datenbank

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Meine Datenbankklasse verbindet nichtmehr mit der Datenbank

    Hallo,

    ich schreibe gerade ein forum und daür eine Klasse, die mit der Datenbank verbindet.
    Bis vorhin hat alles wunderbar geklappt, doch jetzt verbindet das Skript nichtmehr mit der Datenbank...
    Die Fehlermeldung:
    Sorry, no connection! (Access denied for user 'ODBC'@'localhost' (using password: NO))
    Die Klasse:
    PHP-Code:

    <?php
        
    class mydb{
            
            protected 
    $mysqli;
        
            
    //verbinden
            
    function __construct() {
                require_once(
    'password.php');
                
    $this->mysqli = @new mysqli($mysqlhost$mysqluser$mysqlpassword$mysqldb);
                
    // testen, ob Verbindung OK
                
    if(mysqli_connect_errno()) {
                    
    printf("Sorry, no connection! (" mysqli_connect_error() . ")");
                    
    $this->mysqli FALSE;
                  exit();
                }
            }
            
            
    //SELECT ergebnis in einen array zusammenfassen
            
    function queryObjectArray($sql) {
                if(
    $result $this->mysqli->query($sql)) {
                    if(
    $result->num_rows) {
                        while(
    $row $result->fetch_object()) {
                            
    $result_array[] = $row;
                            return 
    $result_array;
                        }
                    }else{
                        
    printf("<p>Da ist wohl etwas schief gegangen</p>\n");
                        return 
    FALSE;
                    }
                }
            }
        }    
    ?>
    Ich brauch hilfe Ich hab das Skript schon 10mal durchforstet aber ich finde nichts!!!
    Benutzerdaten hab ich auch schon des öfteren überprüft.

    Ich danke im Voraus

  • #2
    Der Fehler wird hier zu finden sein:
    PHP-Code:
    $this->mysqli = @new mysqli($mysqlhost$mysqluser$mysqlpassword$mysqldb); 
    Wenn ich mir den Quellcode so ansehe, glaube ich, dass ein Forum im Moment doch eine Nummer zu groß für dich ist.

    Kommentar


    • #3
      Warum?
      Learning by doing
      Es soll kein großes werden, ich will nur mal anfangen, etwas größeres zu schreiben...
      Die ganze zeit kleine Skripte zu schreiben motiviert mich nicht unbedingt.

      Kommentar


      • #4
        Bitte Beitrag anpassen - warum und wie, steht oben.

        Kommentar


        • #5
          Ok jetzt habe ich es hinbekommen.

          Es lag an dem
          PHP-Code:
          require_once ('password.php'); 
          Ich habe auch include_once ausprobiert, doch auch hier funktioniert es nicht
          Als Lösung funktionieren inclue und require.
          Könnte mir jemand sagen warum es mit den ..._once nicht klappt.?

          Kommentar


          • #6
            Zitat von Dinn Beitrag anzeigen
            Könnte mir jemand sagen warum es mit den ..._once nicht klappt.?
            Vermutlich, weil _once genau das erfüllt, was nach Definition seine Aufgabe ist ...?

            Du wirst die Datei vermutlich vorher schon woanders eingebunden haben.

            Kommentar


            • #7
              Hmm das kann eigentlich nicht sein, aber ich nehm das jetzt so hin, denn es funktioniert ja jetzt
              Danke

              Kommentar


              • #8
                kann es sein, dass du deine Datenbankklasse öfter als einmal aufrufst ... weil dann würdest du auch öfter dein passwort einlesen müssen, was mit _once logischerweise nicht geht ...


                Kommentar


                • #9
                  Hmm dann hatte ich _once falsch verstanden.
                  In meinem Buch steht, dass durch _once die Datei auch bei mehrmaligen einfügen, nur einmal geöffnet wird.
                  Aber dann weiß ich das ja jetzt.
                  Danke

                  Kommentar

                  Lädt...
                  X