小编Cod*_*4R7的帖子

什么是MYSQLI_TYPE_INTERVAL用于?

PHP列表MYSQLI_TYPE_INTERVAL作为返回的列类型mysqli_result::fetch_field().

根据我的理解,间隔只是一个可以应用于日期/时间信息的度量单位.您不能在SQL中选择间隔作为纯数据,例如使用类似的查询SELECT INTERVAL 1 DAY.

有人碰巧知道MYSQLI_TYPE_INTERVAL用的是什么吗?

php mysqli

6
推荐指数
1
解决办法
111
查看次数

如何指定构造函数的 void 返回类型

为了保持一致性,我从 PHP 7.1 开始为所有方法指定返回类型,包括像 这样的魔术方法__toString,甚至当隐式返回类型类似于voidwith时__unserialize()

class a {
  function __toString() : string {}
  function __unserialize ( array $data ) : void {}
  function __wakeup() : void {}
}
Run Code Online (Sandbox Code Playgroud)

当我对构造函数和析构函数尝试相同时,如下所示:

class a {
  function __construct() : void {}
  function __destruct() : void {}
  function __clone() : void {}
}
Run Code Online (Sandbox Code Playgroud)

PHP 产生Fatal errors:

Constructor a::__construct() cannot declare a return type
Destructor a::__destruct() cannot declare a return type
Clone method a::__clone() cannot …
Run Code Online (Sandbox Code Playgroud)

php oop php-7 php-7.1 php-8

4
推荐指数
1
解决办法
4975
查看次数

错误类型错误:无法读取 null 的属性“替换”

尽管我的应用程序运行正常,但我收到类型错误。

“错误类型错误:无法读取 null 的属性‘替换’”

不明白如何解决这个问题。任何人都可以给我一些想法或帮助我理解为什么会发生这种情况吗? 在此输入图像描述

if (isInitial) {
    // Add Data Rows (initially)
    for (const row of rows) {
        const clientVisitGuid = row[2];
        const location = row[3];
        row[5] = row[5].replace(/\//g, '\/\u200B');
        const service = row[5];
        const rowId = `${service || 'zzz'}_${location}_${clientVisitGuid}`;
        const sortString = `${service || 'zzz'}_${location}_${clientVisitGuid}`;
        const daysPastDischarge = parseInt(row[6]);
        const isMarked = parseInt(row[7]) === 1 ? true : false;
        if (cbt.hasBodyRow(rowId) === false) {
            const values: Array<[string, string | number]> = [];
            let isAllClear = true;
            for (let …
Run Code Online (Sandbox Code Playgroud)

typescript angular

3
推荐指数
1
解决办法
3万
查看次数

检查call_user_func_array是否执行成功

可以使用动态调用函数或方法call_user_func_array。如果调用本身失败,FALSE则返回。此外,call_user_func_array还返回所调用的函数或方法的返回值。

因此,当被调用的函数或方法FALSE也返回时(例如,参见 SO示例),该值将被识别为误报。

如何可靠地检查函数或方法调用是否成功执行call_user_func_array

编辑:人们倾向于指出 的存在is_callable。但这并不是在调用方法之前检查方法是否存在,从而避免可能的错误。实际上,在执行call_user_func_array函数调用之前,它的参数和参数类型已经被验证Reflection,以避免大规模分配攻击

文档提到了返回值,但我没有看到如何使用它来检查调用是否成功FALSE

php call-user-func-array

2
推荐指数
1
解决办法
2406
查看次数

mysqli_result似乎没有实现Iterator接口

PHP文档指出,从版本5.4及以后:

添加了迭代器支持,因为mysqli_result现在实现了Traversable.

这意味着,mysqli_result必须实施的迭代方法current(),key(),next(),rewind()valid().

但是当我这样做时:

/** @var \mysqli */
$rStmt = $oMySQLi->prepare('<valid query>');
$rStmt->execute();
/** @var \mysqli_result */
$rRes = $rStmt->get_result();
$rRes->rewind();
Run Code Online (Sandbox Code Playgroud)

我收到错误:

调用未定义的方法mysqli_result :: rewind()

?!

php mysqli iterator

2
推荐指数
1
解决办法
80
查看次数