【问题标题】:check if a variable is of type mysqli object?检查变量是否属于 mysqli 对象类型?
【发布时间】:2011-01-13 06:31:09
【问题描述】:

如何检查变量是否属于 mysqli 对象类型?

【问题讨论】:

    标签: php mysqli


    【解决方案1】:

    试试instanceof operatoris_a functionget_class function

    $var instanceof MySQLi
    is_a($var, 'mysqli')
    is_object($var) && get_class($var) == 'mysqli'
    

    【讨论】:

    • 奇怪...这些都不起作用...我确定它是一个 mysqli 对象,因为我在它上面做了一个 mysqli_fetch_assoc 并且它有效..但是当我添加一个 if(is_a($var, 'mysqli') 什么都没有输出。也没有当我使用其他 2..
    • @noname: 如果你在做mysqli_fetch_assoc($var) 那么$var 不是 MySQLi 对象而是 MySQLi 结果资源(参见php.net/resource)。那是不同的东西。
    【解决方案2】:

    Gumbo 的决定有效,但在这种情况下必须检查 $var 是否是 mysqli_result 的实例,即

    $var instanceof mysqli_result;
    is_a($var, 'mysqli_result');
    get_class($var) == 'mysqli_result';
    

    【讨论】:

      【解决方案3】:

      您可能需要instanceof 运算符。

      它也适用于派生类,在您扩展或构建自己的包装器的奇怪情况下。

      【讨论】:

      • 是的。通常,除非发布者指定 PHP4,否则可以安全地假设他们现在使用的是 PHP5。 PHP4 现在已经死了两年多了。
      【解决方案4】:
      【解决方案5】:

      看看get_class

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-25
        • 2023-04-09
        • 1970-01-01
        • 2020-03-21
        • 1970-01-01
        • 1970-01-01
        • 2022-01-25
        • 2020-06-15
        相关资源
        最近更新 更多