php fetch_object/mysqli_fetch_object是否可以设置/检查一个结果集行的必填字段?

4zcjmb1e  于 2023-03-11  发布在  PHP
关注(0)|答案(1)|浏览(126)

当使用php fetch_object/mysqli_fetch_object时,是否可以设置/检查SQL查询的结果集行的必填字段?
例如,我描述了一个具有属性的类。

class MyClass{
  private $field_01; // it is required fields of row of a result set
  private $field_02; // it is required fields of row of a result set
}

在此示例中,SELECT仅包含一个所需字段field_01。结果集不包含MyClass所需的field_02。

$query = "SELECT field_01, field_10 FROM table";
$result = $mysqli->query($query);

现在,当我获取对象时-我应该得到一个没有必填字段的错误

while ($obj = $result->fetch_object('MyClass')) {
   .....
}

有可能吗?
我想将MyClass应用于返回不同字段的不同SQL查询。SQL查询可以在不同的父对象中调用。因此,如果我使用MyClass对象作为查询结果,则必须在查询字段中写入所需的属性。

jvlzgdj9

jvlzgdj91#

它不需要在类中声明所需的属性来检查查询的结果集中是否包含该类应该要求的字段名,然后就可以在构造函数中检查所需的属性

class MyClass{
  public function __construct(){
    // is the result set of the query contains required fields(properties) 
    if(!property_exists($this, 'field_01') or !property_exists($this, 'field_02')){
      ...
    }
  }
}

相关问题