因为我的webhost已更新到PHP 5.6版(PHP版本5.6.30-1 + deb.sury.org~xenial + 1)我在PHP / MySQL项目上遇到以下错误:"试图获取非对象的属性"。
$query = mysqli_query($connection, "SELECT id, date FROM clients WHERE id=1");
$row=mysqli_fetch_object($query);
$date = $row->date;
这是发生错误时的一个非常简单的示意图。如果在MySQL数据库中date为NULL,我会在PHP更新后收到错误。它可以通过以下方式修复:
$query = mysqli_query($connection, "SELECT id, date FROM clients WHERE id=1");
$row=mysqli_fetch_object($query);
if($row->date)
{
$date = $row->date;
}
你能告诉我PHP的变化导致了什么吗?当我使用var_dump($ row)时,我只得到一个对象作为回报,当' date'填写在数据库中。如果' date'是NULL var_dump()返回NULL而不是空对象,PHP告诉我我试图通过$ date = $ row-> date获取非对象的属性。这在以前从来就不是问题。
感谢您的任何反馈!