[PHP5] Mysql problem

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [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!

  • #2
    Re: [PHP5] Mysql problem

    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.

    Comment


    • #3
      Re: Re: [PHP5] Mysql problem

      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;

      Last edited by Griecherus; 04-01-2008, 16:53.
      Nieder mit der Camel Case-Konvention

      Comment


      • #4
        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!

        Comment


        • #5
          Zeig mal den Kontext, also wie du die Klasse in der Applikation benutzt.
          Nieder mit der Camel Case-Konvention

          Comment


          • #6
            Re: Re: Re: [PHP5] Mysql problem

            OffTopic:
            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.

            Comment

            Working...
            X