Ergebnis 1 bis 1 von 1

Thema: mysqli mag mein db.config.include nicht

  1. #1
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard mysqli mag mein db.config.include nicht

    also ich wage mich so nach und nach an oop bei php ran und hab jetzt folgendes konstrukt:

    PHP-Code:
    <?php
    require_once("includes/helperfunctions.inc.php");
    require_once(
    "includes/db.config.inc.php");

    class 
    userprofile{

        private 
    $user_id;
        private 
    $user_username;
        private 
    $user_name;
        private 
    $user_vorname;
        private 
    $user_email;
        private 
    $user_gebtag;
        private 
    $user_wohnort;
        private 
    $user_bildpfad;
        private 
    $user_adresse;
        private 
    $user_interessen;
        private 
    $user_hobbies;
        private 
    $user_last_ip;
        private 
    $user_lastLogin;

        function 
    userprofile($id){
            
    // Neues Datenbank-Objekt erzeugen
            
    $db = @new mysqli$dbserver$dbuser$dbpassword$dbscheme );
            
    // Pruefen ob die Datenbankverbindung hergestellt werden konnte
            
    if (mysqli_connect_errno() == 0){
                
                
                
    $sql "SELECT id, username, name, vorname, email, gebtag, wohnort, bildpfad, adresse, interessen, hobbies, last_ip, last_login FROM dbna_users where id = ".$db->real_escape_string($id).";";
                
    $ergebnis $db->query$sql );
                
    // Ergebnisse ausgeben
                
    while ($zeile $ergebnis->fetch_object()){
                    
    $this->user_id $zeile->id ;
                    
    $this->user_username $zeile->username;
                    
    $this->user_name $zeile->name;
                    
    $this->user_vorname $zeile->vorname;
                    
    $this->user_email $zeile->email;
                    
    $this->user_gebtag mysql2date($zeile->gebtag);
                    
    $this->user_wohnort $zeile->wohnort;
                    
    $this->user_bildpfad $zeile->bildpfad;
                    
    $this->user_adresse $zeile->adresse;
                    
    $this->user_interessen $zeile->interessen;
                    
    $this->user_hobbies $zeile->hobbies ;
                    
    $this->user_last_ip $zeile->last_ip;
                    
    $this->user_lastLogin $zeile->last_login;        
                }
                
    // Resourcen freigeben
                
    $ergebnis->close();
            }
            else{
                
    // Es konnte keine Datenbankverbindung aufgebaut werden
                
    echo 'Die Datenbank konnte nicht erreicht werden. Folgender Fehler trat auf: <span class="hinweis">' .mysqli_connect_errno(). ' : ' .mysqli_connect_error(). '</span>';
            }
            
    // Datenbankverbindung schliessen
            
    $db->close();
        }

        function 
    getUsername(){
            return 
    $this->user_username;
        }
    }
    ?>
    das ganze mit direkten paramtern aufgerufen funktioniert, aber sobald ich ne db.config.inc.php einbaue, sei es mit require_once oder include klappts net..

    db.config.inc.php:
    PHP-Code:
    <?php
    $dbserver 
    'localhost';
    $dbuser 'root';
    $dbpassword 'pillepalle';
    $dbscheme =  'palleschema';
    ?>
    dann hab ich den aufruf der ganzen klasse:

    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    include(
    "class.userprofile.php");
    $userprofile = new userprofile($_REQUEST['id']);
    ?>
    <div id="profilewrap">
        <hr />
        username via methode: <?php echo $userprofile->getUsername(); ?>
    </div>
    die meldung die ich so bekomme is dann:

    Die Datenbank konnte nicht erreicht werden. Folgender Fehler trat auf: 1045 : Access denied for user 'ODBC'@'localhost' (using password: NO)
    Warning: mysqli::close() [mysqli.close]: Couldn't fetch mysqli in C:\xampp\htdocs\dbna\class.userprofile.php on line 54
    es muss doch ne möglichkeit geben mit der ich die verbindungsdaten zur db auslagern kann...
    oder sollte ich dahergehen, wie bei java und mit nem singleton agieren und das ganze wieder in ne eigene klasse stubben?
    an sich dachte ich ja mysqli is damit man sich eigene klassen ersparen kann..



    edit: dank grevas gedächtnisstütze klappt es.. des include für die db muss im konstruktor von der class aufgerufen werden, direkt vorm new mysqli(), dann fruchtet des

    danke grevas

    php is eben keine hochsprache
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von synaptic (07.05.2010 um 13:34 Uhr) Grund: problem ist gelöst
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

Ähnliche Themen

  1. Datenbank Problem (MySQLi)
    Von Tobse im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 10.09.2009, 19:36
  2. tabelle ist nicht geschlossen, da include php ...
    Von mischalemaus im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 19.06.2009, 13:51
  3. Navigation per php-Include einbinden funktioniert nicht
    Von zaunbauer im Forum HTML & CSS Forum
    Antworten: 45
    Letzter Beitrag: 10.04.2009, 02:06
  4. [Tutorial] Datenbank lesen/schreiben mit MySQLi
    Von Mülla im Forum Script-Archiv
    Antworten: 3
    Letzter Beitrag: 19.11.2006, 22:22
  5. include funktioniert nicht
    Von joel im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 12.06.2004, 12:16

Stichworte

Berechtigungen

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