php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 26-05-2007, 21:26
phpdeveloper
 Newbie
Links : Onlinestatus : phpdeveloper ist offline
Registriert seit: May 2007
Beiträge: 14
phpdeveloper ist zur Zeit noch ein unbeschriebenes Blatt
Standard Verbindung weiterreichen in einer Klasse

Hallo,

Ich arbeite derzeit an einem simplen Forum.
Um die einzelnen Informationen auszulesen, also Threadtitel, letzter Poster etc. habe ich eine Datei erstellt die verschiedene Funktionen beinhaltet die diese Infos abrufen. In der index.php habe ich die Datei included und rufe einfach die Funktionen auf.

Leider sind es mittlerweile sehr sehr viele Funktionen geworden die verschiedene Daten aus der DB abrufen.

Jetzt hab ich mir als "PHP-Anfänger" gedacht ich schreib einfach eine Klasse und die Funktionen werden dann Methoden der Klasse und alles wird so etwas übersichtlicher.

Nun zum Problem:
In der config.inc.php stehen die Zugangsdaten der MySQL DB.
Diese möchte ich aber nicht in jeder Funktion includen sonder am liebesten in einer Methode aufrufen und an jede anderere MEthode übergeben.

Die Klasse sieht bis jetzt so aus:
PHP-Code:
    class tplqueries
    
{
        function 
SQLConnection()
        {
            include(
"config.inc.php");
            
            
$Host $config["Database"]["Host"];
            
$Benutzer $config["Database"]["Benutzer"];
            
$Passwort $config["Database"]["Passwort"];
            
$Datenbank $config["Database"]["Datenbank"];
        
            
$Server mysql_connect ($Host$Benutzer$Passwort);
            
            return 
$Server;    
        }

        function 
ShowForumtitle($boardid)
        {            
            
$SQL "SELECT title FROM forum WHERE boardid = '$boardid'";
            
$Forenausgabe mysql_db_query($Datenbank$SQL$this->SQLConnection());
            
$forumtitle mysql_result($Forenausgabe0);
            return 
$forumtitle;
        }
    } 
Die Methode aufrufen tuhe ich wie folgt:
PHP-Code:
        require_once("include/class_tplqueries.php");

    
$class = new tplqueries();
    
    
$boardid 1;
    
$forumtitle $class->ShowForumtitle($boardid); 
Leider funktioniert das so nicht und ich weiss nicht mehr weiter

Bin dankbar für jede Hilfe

Geändert von phpdeveloper (26-05-2007 um 21:54 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 26-05-2007, 21:52
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Verbindung weiterreichen in einer Klasse

"Funktioniert nicht" war noch nie eine Problembeschreibung, sondern schon immer Bullshit.


Wieso sehe ich dich eigentlich kein mysql_error nutzen?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 26-05-2007, 22:00
phpdeveloper
 Newbie
Links : Onlinestatus : phpdeveloper ist offline
Registriert seit: May 2007
Beiträge: 14
phpdeveloper ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok sry, hätte ich natürlich angeben müssen hab vorhin nicht dran gedacht

PHP-Code:
function ShowForumtitle($boardid)
        {            
            
$SQL "SELECT title FROM forum WHERE boardid = '$boardid'";
            if (
$Forenausgabe mysql_db_query($Datenbank$SQL$this->SQLConnection()))
            {
                
$forumtitle mysql_result($Forenausgabe0);
                return 
$forumtitle;
            }
            else
            {
                echo 
mysql_errno() . ": " mysql_error() . "\n";
            }
        }
    } 
Gibt folgende Fehlermeldung aus:
1046: No database selected
Mit Zitat antworten
  #4 (permalink)  
Alt 26-05-2007, 22:04
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von phpdeveloper

Gibt folgende Fehlermeldung aus:
1046: No database selected
eindeutiger kann die Meldung nicht sein! Schon mal über den Unterschied von lokalen und globalen Variable nachgedacht?

Geändert von asp2php (26-05-2007 um 22:06 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 26-05-2007, 22:34
phpdeveloper
 Newbie
Links : Onlinestatus : phpdeveloper ist offline
Registriert seit: May 2007
Beiträge: 14
phpdeveloper ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Selbst wenn ich die Variable $Server global mache und $Server direkt einsetze statt $this->SQLConnection geht es nicht.
Auch wenn ich mysql_querry verwende und keinen Datenbanknamen angebe funzt es nicht.
Mit Zitat antworten
  #6 (permalink)  
Alt 26-05-2007, 22:39
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

was sagt die Fehlermeldung aus? Was würdest du bei der Zeiile

if ($Forenausgabe = mysql_db_query($Datenbank, $SQL, $this->SQLConnection()))

in Kombination mit meinem obigen Kommentar vermuten?
Mit Zitat antworten
  #7 (permalink)  
Alt 26-05-2007, 22:48
phpdeveloper
 Newbie
Links : Onlinestatus : phpdeveloper ist offline
Registriert seit: May 2007
Beiträge: 14
phpdeveloper ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was de Fehlermeldung besagt ist mir schon klar, er findet anscheinend keine Datenbank.
Wenn ich global $Datenbank; in die SQLConnection Methode setzte aendert das nix........
Mit Zitat antworten
  #8 (permalink)  
Alt 26-05-2007, 22:55
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

da fehlt mysql_select_db()
__________________
ich glaube
Mit Zitat antworten
  #9 (permalink)  
Alt 26-05-2007, 23:01
Koala
 PHP Junior
Links : Onlinestatus : Koala ist offline
Registriert seit: Jan 2006
Beiträge: 887
Koala ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also - in diesem Fall ist es doch wohl das einfachste eine der unzähligen mysql-Klassen zu nehmen und an die eigenen Bedürfnisse anzupassen.
Mit Zitat antworten
  #10 (permalink)  
Alt 26-05-2007, 23:08
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von phpdeveloper
Was de Fehlermeldung besagt ist mir schon klar, er findet anscheinend keine Datenbank.
Wenn ich global $Datenbank; in die SQLConnection Methode setzte aendert das nix........
warum in die SQLConnection Methode, wenn du mysql_db_query nimmst

Außerdem eine Klasse, die von externen Variablen abhängig ist ... hm, bist du sicher, dass das sinnvoll ist?
Mit Zitat antworten
  #11 (permalink)  
Alt 26-05-2007, 23:09
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von ministry
da fehlt mysql_select_db()
nicht, wenn man mysql_db_query nimmt
Mit Zitat antworten
  #12 (permalink)  
Alt 26-05-2007, 23:12
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von asp2php
nicht, wenn man mysql_db_query nimmt
Hast ja Recht, aber vielleicht sollte man das dann einfach mal nicht machen, um den Fehler einzugrenzen...
__________________
ich glaube
Mit Zitat antworten
  #13 (permalink)  
Alt 26-05-2007, 23:17
phpdeveloper
 Newbie
Links : Onlinestatus : phpdeveloper ist offline
Registriert seit: May 2007
Beiträge: 14
phpdeveloper ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von asp2php
warum in die SQLConnection Methode, wenn du mysql_db_query nimmst

Außerdem eine Klasse, die von externen Variablen abhängig ist ... hm, bist du sicher, dass das sinnvoll ist?
EDIT: Wie kann ich denn nun die Variable $Datenbank von der Methode SQLConnection an die anderen übergeben? Bin da noch immer nicht hinter

Hmmm... eigentlich moechte ich nur nicht in jeder Methode die config.inc.php includen und die Zugansdaten der DB angeben.
Deswegen hab ich gedacht das laesst sich in einer anderen Methode erledigen und die Verbindungsdaten lassen sich an die anderen Methoden weitergeben.

Und nein sicher bin ich mir nicht ob das so wirklich sinnvoll ist
Ist es denn ueblich das sich in einer Datei nur Funktionen befinden die dann in einem anderen Script aufgerufen werden ?

Geändert von phpdeveloper (27-05-2007 um 00:18 Uhr)
Mit Zitat antworten
  #14 (permalink)  
Alt 27-05-2007, 00:12
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Ist es denn ueblich das sich in einer Datei nur Funktionen befinden die dann in einem anderen Script aufgerufen werden ?
Ja.

Informiere dich über OOP Konzepte, Klasseninterne Variablen und __construct. Ach und ein paar Grundlagen.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #15 (permalink)  
Alt 27-05-2007, 08:59
Koala
 PHP Junior
Links : Onlinestatus : Koala ist offline
Registriert seit: Jan 2006
Beiträge: 887
Koala ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Stichwort: singleton pattern
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:01 Uhr.