首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP使用Intelephense调用mysqli的正确方法

PHP使用Intelephense调用mysqli的正确方法
EN

Stack Overflow用户
提问于 2019-02-25 11:55:33
回答 1查看 3.4K关注 0票数 3

这段代码触发了我的编辑器的智能错误:

代码语言:javascript
复制
/**
 * Connect to database
 */
public function link() {
    global $config; mysqli_report(MYSQLI_REPORT_ERROR);
    try {
        return new \mysqli($config['db_hostname'], $config['db_username'], $config['db_password'], $config['db_name']);
    } catch (\exception $e) {
        throw new \exception($e->getMessage(), $e->getCode());
    }
}

预期的6个论点。发现4.智力(10005)

如果我用:

代码语言:javascript
复制
return new \mysqli($config['db_hostname'], $config['db_username'], $config['db_password'], $config['db_name'],null,null);

谢谢大家的回答;还有欺骗,谁纠正我错误的方式,以抓住例外;

这是经过编辑的代码:

代码语言:javascript
复制
/**
 * Connect to database
 */
public function link() {
    global $config; mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    try {
        return new \mysqli($config['db_hostname'], $config['db_username'], $config['db_password'], $config['db_name'], ini_get('mysqli.default_port'), ini_get('mysqli.default_socket'));
    } catch (\exception $e) {
        echo 'Cannot connect to a database server'; die();
    }
}

注意,这是用于使用名称空间的类.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-28 15:11:54

智能插件使用来自PhpStorm的存根。作者已经提交了一个PR来修复这个问题(以及其他带有可选参数的函数):https://github.com/JetBrains/phpstorm-stubs/pull/520

一旦合并并更新存根,您就不应该再收到vscode中报告的问题。

不需要更改构造函数调用,它是有效的代码,执行时不会出现问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54865658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档