【问题标题】:Strict Standards: Declaration of MySQLDb::LastId() should be compatible with Db严格标准: MySQLDb::LastId() 的声明应该与 Db 兼容
【发布时间】:2015-04-18 11:54:54
【问题描述】:

我正在使用文章实时内容管理脚本,该脚本现已关闭且不提供支持。

在网站顶部的所有页面上显示以下错误消息:

Strict Standards: Declaration of MySQLDb::LastId()应该与/home4/xxxx/public_html/xxx.com/lib/mysqldb.php在线29中的Db::LastId($seq = '')兼容

还有一些使用ajax/responsive 的菜单栏在管理区域中不起作用。

我该如何解决?

【问题讨论】:

    标签: php


    【解决方案1】:

    您需要在 MySQLDb 中声明函数 LastId,如下所示

    MySQLDb::LastId($seq = '')

    Db 类似乎是 MySQLDb 的父类,并且您已经声明了函数 LastId,它需要 1 个参数作为默认值,但在子类中您已经用零参数覆盖了相同的函数。 从 PHP 5.3 开始,它会像上面那样向您显示警告。

    【讨论】:

    • 谢谢。但作为一个新手,我不知道该怎么做。你能解释一下我需要在 mysqldb.php 中改变什么吗?这里我上传了mysqldb.php drive.google.com/file/d/0BxCsZx2vYf5yVmxteTdvM2xUdTQ/…
    • 你只需要将LastId函数的声明从Db类复制到MySQLDb类。谢谢写你的代码。
    • 很可能你需要在LastId函数的参数列表中添加$seq = ''
    【解决方案2】:

    这意味着你必须尊重父函数模式:

    class MySQLDb extends Db {
        ...
        public static function LastId($seq = '') {
            // your method
            // if you call the parent function, do:
            // return parent::LastId($seq)
        }
        ...
    }
    

    【讨论】:

    猜你喜欢
    • 2014-02-01
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    相关资源
    最近更新 更多