PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   [PHP5] Mysql problem (https://www.php-resource.de/forum/php-developer-forum/89221-php5-mysql-problem.html)

killver 04-01-2008 18:23

[PHP5] Mysql problem
 
Hallo!

Ich arbeite gerade an einem PHP Projekt, was aus einer XML Datei sehr viele Daten parset und diese dann an Hand einer Mysql Klasse in die Datenbank einfügt. Komischerweise schlägt die Connection zur Datenbank, aber willkürlich fehl, also ich verstehe echt nicht woran es liegt, weil es ist immer an ner andren Stelle:

Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2003): Can't connect to MySQL server on 'localhost' (10048) in D:\xampp\htdocs\Projekt\updater\mySqlController.php on line 19
No connection to database!

Meine Connection Klasse schaut folgendermaßen aus:

PHP-Code:

private function mysql_connection() {

$this->db mysqli_connect("localhost""blubb""a1""bla");
if (!
$this->db) {
die(
"No connection to database!");


Auf diese Funktion wird bei jeder Methode zugegriffen.

Bitte um Hilfe!

3DMax 04-01-2008 18:45

Re: [PHP5] Mysql problem
 
Zitat:

Original geschrieben von killver
Auf diese Funktion wird bei jeder Methode zugegriffen.
wie, bei _jeder_ methode?
die verbindung musst du nur einmal am anfang des scriptes aufbauen.

Griecherus 04-01-2008 18:51

Re: Re: [PHP5] Mysql problem
 
Zitat:

Original geschrieben von 3DMax
wie, bei _jeder_ methode?
die verbindung musst du nur einmal am anfang des scriptes aufbauen.

Kommt das nicht auf die Funktionsweise der Klasse an? Z. B. wenn die Verbindung nicht an eine Konstruktor-Methode gekoppelt ist, also nicht automatisch bei Instanziierung der Klasse verbunden wird, dann ist es gar nicht so verkehrt, sofern es in folgendem Sinne geschieht:
PHP-Code:


public function execute($something)
{
    if (
NULL === $this->_connection)
    {
        
$this->connect();
    }

    
$result db_execute($something$this->_connection);

    return 
$result;



killver 04-01-2008 18:55

Ahja das hab ich mir eh gedacht. Nur wie lös ich das? Wenn ich in der andren php Datei $this -> _dbcontroller -> mysql_connection(); aufrufe speichert er db irgendwie nich in der Klasse und jammert dann immer dass er kein db hat!

Griecherus 04-01-2008 18:59

Zeig mal den Kontext, also wie du die Klasse in der Applikation benutzt.

3DMax 04-01-2008 19:46

Re: Re: Re: [PHP5] Mysql problem
 
OffTopic:
Zitat:

Original geschrieben von Griecherus
Z. B. wenn die Verbindung nicht an eine Konstruktor-Methode gekoppelt ist, also nicht automatisch bei Instanziierung der Klasse verbunden wird, dann ist es gar nicht so verkehrt,
ja, hast recht, wird auch oft so gelöst.
nur warum sollte ich ein db-verbindungs-objekt erstellen, ohne mich dann auch tatsächlich mit der db zu verbinden? irgendwie sinnfrei, also kann ich es auch gleich im konstruktor erledigen.
außerdem weiß ich dann, dass die klasse die verbindungsdaten als parameter erwartet und sich diese nicht aus sonsteiner konfig-datei, konstanten oder hard in die klasse kodierten variablen holt.
ist meiner meinung nach sauberer und flexibler.



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

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG