我正在阅读一本关于 PHP 的书,并且对这个示例有疑问:
<?php
function dbConnect() {
$host = 'localhost';
$db = 'learnphp';
$user = 'phplearner';
$pwd = 'wxyz1234';
return new mysqli($host, $user, $pwd, $db) or die("Can't open database");
}
$conn = dbConnect();
$sql = 'SELECT * FROM images';
$result = $conn->query($sql);
$numRows = $result->num_rows;
?>
<p>A total of <?php echo $numRows; ?> records were found.</p>
它不能在我的本地服务器中运行(XAMPP 1.8.1;PHP 5.4.7;mysqlnd 5.0.10 - 20111026;MySQL 5.5.27) - 带有以下错误消息:
致命错误:在第11行对D:\xampp\htdocs\learnphp\mysql\mysqli.php中的非对象调用成员函数 query()
但是,当我更改此行时:
return new mysqli($host, $user, $pwd, $db) or die("Can't open database");
至:
$mysqliobj = new mysqli($host, $user, $pwd, $db) or die("Can't open database");
return $mysqliobj;
它可以正常工作:
共找到 8 条记录。
为什么我不能return new mysqli(...)
像示例一样使用?这是 PHP 5.4+ 的新编码要求吗?