小编dze*_*siz的帖子

PHP未定义变量在同一个函数内

我一直在寻找答案,但没有运气:我在这个函数中定义了一个变量,我尝试在同一个函数中使用它,但PHP给了我这个:

注意:
未定义的变量:第42行的
C:\ xampp\htdocs\liquidity\includes\layout\DBBroker.php中的查询警告:mysqli_query():C:\ xampp\htdocs\liquidity\includes\layout\DBBroker中的空查询.第42行的PHP

这怎么可能?我定义它并在同一个函数中使用它.该函数是prikaziClanove,它旁边有"//这里问题开始".码:

<?php
    define ("DBHOST", "localhost");
    define("DBUSER", "standard_user");
    define("DBPASS", "standard");
    define("DBNAME", "liquidity");
    class DBBroker {
        private $dbhost;
        private $dbuser;
        private $dbpass;
        private $dbname;
        private $conn;

        function __construct() { //connects to DB and checks the connection
            $this->dbhost = DBHOST;
            $this->dbuser = DBUSER;
            $this->dbpass = DBPASS;
            $this->dbname = DBNAME;

            $this->conn = mysqli_connect($this->dbhost, $this->dbuser, $this->dbpass, $this->dbname);
            if (!$this->conn) {
                die("Došlo je do greške pri konektovanju na bazu: ".mysqli_error($this->conn));
            }
        }

        /*$conn = mysqli_connect(DBHOST, DBUSER, DBPASS, DBNAME);
        if ($conn) …
Run Code Online (Sandbox Code Playgroud)

php mysqli scope

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

TypeScript myFunction 不是函数

我在 Angular 工作,遇到以下情况:

my.service.ts有这个类:

export class MyClass {
    MyList: string[] = [];
    MyString: string = '';

    createString(): void {
        this.MyList.forEach(s => {
            this.MyString += s + ', ';
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

my.component.ts是这样调用它的:

myData: MyClass[] = [];

this.myService.getMyData().subscribe(res => {
    myData = res;
    if (myData.length > 0) {
        this.myData.forEach(x => x.createString());
    }
});
Run Code Online (Sandbox Code Playgroud)

VS Code 将该createString函数识别为 的方法MyClass,但我仍然收到错误:

错误类型错误:x.createString 不是函数

有什么解释吗?

编辑:数据来自后端,后端模型没有此方法。也许这就是问题所在?

javascript function typescript angular

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

以对象作为参数的 HttpWebRequest GET

我正在尝试从 Windows 服务调用 API。API 是用 ASP MVC 编写的。到目前为止,我正在创建如下请求:

private List<T> GetCollectionFromApi<T>(string url)
    {
        List<T> result = new List<T>();

        try
        {
            var request = (HttpWebRequest) WebRequest.Create(url);
            request.Method = "GET";

            using (var response = (HttpWebResponse) request.GetResponse())
            {
                using (var stream = response.GetResponseStream())
                {
                    using (var sr = new StreamReader(stream))
                    {
                        result.AddRange(JsonConvert.DeserializeObject<List<T>>(sr.ReadToEnd()));
                    }
                }
            }
        }
        catch (Exception e)
        {
            // handle err
        }

        return result;
    }
Run Code Online (Sandbox Code Playgroud)

这一切都很好,但现在我需要通过 GET 请求传递一个参数。该参数是一个对象,而不是原始类型。

我是否在查询字符串中逐个属性地解构它?或者我是否以某种方式将其添加到请求标头?我确实计划依赖API 控制器中的DefaultModelBinder 。任何计划将不胜感激。

c# asp.net-mvc http-get httpwebrequest http-headers

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

角度反应从空值转换为字符串“null”

我正在编写一个反应式表单,其中某些下拉值默认为 null,如下所示:

\n
<div>\n    <label>My Dropdown</label>\n    <select formControlName="someId">\n        <option [value]="null">Choose whatever</option>\n        <option *ngFor="let data of dataArr" [value]="data.id">\n            {{ data.name }}\n        </option>\n    </select>\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n

我的表单初始化如下:

\n
this.formBuilder.group({\n    //...\n    someId: this.fb.control(null)\n});\n
Run Code Online (Sandbox Code Playgroud)\n

并用标准补丁patchValue(model)功能。

\n

问题是 \xe2\x80\x93 当我选择“选择任何”选项时,该null值变成"null"字符串。我的其他逻辑依赖于空值为真null而不是字符串。我怎样才能避免这种情况?

\n

如果它很重要,我用来修补表单的模型的类型stringsomeId。这是一个因素吗?

\n

null types typescript angular angular-reactive-forms

0
推荐指数
1
解决办法
915
查看次数