无法在if语句中立即引用php mysqli结果对象。。。?

无法在if语句中立即引用php mysqli结果对象。。。?,php,if-statement,mysqli,logic,conditional-statements,Php,If Statement,Mysqli,Logic,Conditional Statements,为什么第二个代码块(作为第一个代码块的替换运行时)会产生错误“调用非对象上的函数fetch_object”?这是因为PHP没有像您预期的那样解析第二个语句 它的解读是: //Execute query and fetch first row if ($qry=$db->query("SELECT statement")) { if ($row=$qry->fetch_object()) { } } //Same code as above using onl

为什么第二个代码块(作为第一个代码块的替换运行时)会产生错误“调用非对象上的函数fetch_object”?

这是因为PHP没有像您预期的那样解析第二个语句

它的解读是:

//Execute query and fetch first row  
if ($qry=$db->query("SELECT statement")) {  
  if ($row=$qry->fetch_object()) {

  }  
}


//Same code as above using only one if statement
if ($qry=$db->query("SELECT statement") && $row=$qry->fetch_object()) {

}
如您所见,这意味着在调用
fetch\u对象之前设置
$qry

试着把你的陈述写进
()


这是因为PHP没有像您预期的那样解析第2条语句

它的解读是:

//Execute query and fetch first row  
if ($qry=$db->query("SELECT statement")) {  
  if ($row=$qry->fetch_object()) {

  }  
}


//Same code as above using only one if statement
if ($qry=$db->query("SELECT statement") && $row=$qry->fetch_object()) {

}
如您所见,这意味着在调用
fetch\u对象之前设置
$qry

试着把你的陈述写进
()


因为PHP编译器认为单行代码对于大多数人来说是不直观的,所以我也有类似的情况,并且被告知有时程序运行的速度会超过它获得结果集的速度。为了避免这种情况,我不得不给程序添加一个超时(sleep),让它暂停片刻,以确保我得到了结果集。因为PHP编译器认为单行代码对大多数人来说是不直观的,所以我遇到了类似的情况,并被告知有时程序运行速度会超过它获得结果集的速度。为了避免这种情况,我不得不给程序添加一个超时(睡眠),让它暂停片刻,以确保我得到了结果集。工作得很好。。。!现在看起来很明显,我看到了!!干得好-谢谢。工作很有魅力。。。!现在看起来很明显,我看到了!!干得好-谢谢。
if (($qry=$db->query("SELECT statement")) && ($row=$qry->fetch_object()))