Dringen! - Whitescreen bei Klassen (Methoden und Variablen)

  • 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.