Dringen! - Whitescreen bei Klassen (Methoden und Variablen)

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
  • Hallo,


    ich habe ein dringendes Problem! Also ich schreibe gerade ein System.


    PostResponse wird vor dem Template noch ausgeführt


    Eine Function in der Session-Klasse

    PHP
    public function UserFetch($userid = 0)
    	{
    		$uid = ($userid == 0) ? $this->userid : $userid;
    		$this->db->Query("SELECT * FROM `accounts` WHERE `userid`=:uid");
    		$this->db->bind(':uid', $uid);
    		return var_dump($this->db);
    		//return $this->db->fetch();
    		//return ($this->db->rowCount()>0) ? $this->db->fetch() : NULL;
    	}


    Wenn ich es auf dem localhost-Webserver ausführe, geht alles wie es laufen sollte, jedoch wenn es Online ist, bekomme ich ein White-Screen. Es wird wohl immer NULL zurückgegeben.


    Ich kann mir den seltsamen Fehler nicht erklären. Kann mir einer Helfen?

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.

  • Sorry, total vergessen


    PHP
    [error] [client xx.xxx.xx.xxx] PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active.  Consider using PDOStatement::fetchAll().  Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.' in /var/customers/webs/anzenjo/anzenjo.riows-hosting.net/cc/system/classes/db.class.php:60\nStack trace:\n#0 /var/customers/webs/anzenjo/anzenjo.riows-hosting.net/cc/system/classes/db.class.php(60): PDO->prepare('SELECT * FROM `...')\n#1 /var/customers/webs/anzenjo/anzenjo.riows-hosting.net/cc/system/classes/sessions.class.php(55): Database->Query('SELECT * FROM `...')\n#2 /var/customers/webs/anzenjo/anzenjo.riows-hosting.net/cc/system/classes/PageHandle.class.php(71): Session->UserFetch(37)\n#3 /var/customers/webs/anzenjo/anzenjo.riows-hosting.net/cc/system/classes/PageHandle.class.php(22): PageHandle->PostResponse()\n#4 /var/customers/webs/anzenjo/anzenjo.riows-ho in /var/customers/webs/anzenjo/anzenjo.riows-hosting.net/cc/system/classes/db.class.php on line 60,

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.

  • da ist der Fehler doch? Lösung steht auch drin.


    Was mir allerdings grade noch auffällt ist das "global $xyz;" nutzt. Globale Variablen sind gefährlich! Guck dir mal lieber Dependency Injection usw. an. Da bist auch auch sicherer, und dein Quellcode wird schöner.

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • das ist nicht gefährlich, einfach nur Sinnlos von mir. Was ich nur zu testzwecken was anderen verwendet hatte.


    Ich hatte in meiner db.class.php
    es jetzt so:

    PHP
    try{
    			$this->synup = new \PDO($this->dsn, $this->user, $this->pass, $optionen);
    			$this->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
    			$this->setAttribute(\PDO::ATTR_EMULATE_PREPARES, false);
    			$this->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
    		} catch(\PDOException $e)
    		{
    			$this->error = $e->getMessage();
    			die($e->getMessage());
    		}


    Allerdings funktioniert es immernoch nicht

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.