关于PHP连接对象
有人能给我解释一下为什么以下是错误的:关于PHP连接对象,php,Php,有人能给我解释一下为什么以下是错误的: $sql='SELECT * FROM images'; $hostname ='localhost'; $username= 'root'; $password= ''; $db= 'myDB'; $numRows=new mysqli($hostname, $username, $password, $db)->query($sql)-> num_rows; 抛出的错误是:语法错误、意外的T_对象_运算符 有没有可能用上面的一句话来纠正
$sql='SELECT * FROM images';
$hostname ='localhost';
$username= 'root';
$password= '';
$db= 'myDB';
$numRows=new mysqli($hostname, $username, $password, $db)->query($sql)-> num_rows;
抛出的错误是:语法错误、意外的T_对象_运算符
有没有可能用上面的一句话来纠正呢?谢谢。在
新mysqli(..)
周围放上括号
即,放置以下内容:
$numRows=(new mysqli($hostname, $username, $password, $db))->query($sql)-> num_rows;
而不是:
$numRows=new mysqli($hostname, $username, $password, $db)->query($sql)-> num_rows;
但是正如马尔布所说,这是一件非常可怕的事情。稍后,调试将很困难。在实例化mysqli之后进行链接
$m = new mysqli($hostname, $username, $password, $db);
$numrows = $m->query($sql)->num_rows;
你为什么要尝试这么可怕的事情?数据库操作可以也确实会失败——像这样的失败链接假定成功,并且在某个时候会在您身上爆炸。嗨,Ahmedtabrez,仍然像您所说的那样放括号并不能解决错误。是的,bsdnoobz可以工作,但逻辑上它也应该像我上面所说的那样工作。对象已创建并正在执行函数。试图找出对象和链接背后的逻辑。谢谢。