Warnung nach umstellen auf PHP7

  • Hallo,


    ich habe an meinem Script ein paar Änderungen gemacht das es unter PHP 7 funktioniert doch an zwei Meldungen komme ich nicht weiter

    Hoffe das mir jemand von euch helfen kann.


    Folgende Felermeldungen:


    Warning: Declaration of MysqlDatabase::select($query, $class = 'recordset') should be compatible with MyDatabase::select()


    Warning: Declaration of MysqlDatabase::execute($query) should be compatible with MyDatabase::execute()



    bei ersten habe ich in der Datei stehen:



    und beim zweiten:



    Freue mich über eure Antworten.


    Grüße

    Thomas

  • compatible

    ist das Schlüsselwort.


    Aus der Meldung entnehme ich, dass Du

    eine class MysqlDatabase und eine class MyDatabase

    nutzt.


    MysqlDatabase erweitert sicherlich MyDatabase.


    Das Problem:

    Siehe code


    Der Fehler liegt hier also bei dem ersten Parameter.

    Der existiert bei der erweiterten (parent) Klasse nicht.

    Du kannst parameter hinzufügen, aber dann so, dass sie optional sind.




    An einem anderern Bsp:

  • Hallo cottton der erste Code hat super funktioniert danke dafür.


    Kannst du mir noch bitte beim zweiten helfen?


  • Ok, dann bleibt nur noch die Frage: warum hat denn die Klasse MyDatabase

    bei den Methoden

    select()

    und

    execute()

    keine Parameter?


    Wenn Du diese Klasse alleine Nutzen würdest, könntest Du ja gar keine Parameter übergeben =)

  • Hallo Leute,


    habe gerade in meine error_log reingeschaut und ein paar Warnungen werden mir angezeigt bei denen ich keinen Ahnung habe


    PHP Deprecated: Non-static method DatabaseFactory::getConnection() should not be called statically on line 105

    Code
    $this->con =& DatabaseFactory::getConnection();

    Non-static method MyConfigManager::getInstance() should not be called statically on line 39

    Code
    $config_manager =& MyConfigManager::getInstance();

    Non-static method MyLogger::getInstance() should not be called statically on line 46

    Code
    $this->logger =& MyLogger::getInstance();

    kann mir dabei jemand helfen?


    Freue mich über eure Antworten.


    Grüße

    Thomas

  • Hallo Stef,


    hat leider nichts geholfen. Habe einiges ausprobiert was dort beschrieben wurde und jedes mal war die Homepage nicht mehr zu sehen dafür jede menge Errors in der error_log


    Hier mal die ganze Code:


  • PHP Fatal error: Uncaught Error: Call to a member function getgetConnection() on string

    PHP Warning: Use of undefined constant DatabaseFactory - assumed 'DatabaseFactory' (this will throw an Error in a future version of PHP)

    PHP Fatal error: Constructor MyObject::MyObject() cannot be static

    PHP Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR), expecting '['

    PHP Fatal error: Uncaught Error: Call to undefined function MyLogger()

  • Also bissl musste schon selbst nachdenken.

    Zitat

    PHP Fatal error: Uncaught Error: Call to a member function getgetConnection() on strin

    getgetConnection


    Ich bin raus :)

    EDIT: nicht die Lösung, aber ich such bei sowas offensichtlichen doch nicht mehr für Dich weiter =)

  • Das war nach dem versuch was in den zwei oberen links beschrieben ist, habe es auch wieder zurückgestellt.

    Ich habe nicht viel Ahnung von php vielleicht habe ich auch etwas falsch gemacht sonst würde ich hier nicht um Hilfe bitten.


    Grüß

    Thomas

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!