我对 MySQL 数据库进行了非常标准的调用,但由于某种原因,我无法使代码正常工作。这是我所拥有的:
$mysqli = mysqli_connect("localhost","username","password");
if (!$mysqli)
{
die('Could not connect: ' . mysqli_error($mysqli));
}
session_start();
$sql = "SELECT * FROM jobs ORDER BY id DESC";
$result = $mysqli->query($sql);
$num_rows = mysqli_num_rows($result);
现在,首先,我知道它连接正确,因为我没有得到 die 方法,而且我之前在其中添加了一个 else 条件并且它已检查。然后页面显示,但我收到错误:
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in blablabla/index.php on line 11
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in blablabla/index.php on line 12
我已经仔细检查了我的数据库,并且有一个名为作业的表,其中有一行“id”(它是主行)。让我感到困惑的是,这是我从我建立的另一个站点复制和粘贴的代码,由于某种原因,该代码在这个站点上不起作用(我显然复制并粘贴了它,然后只是相应地更改了表名和行)。
我看到了错误并尝试了:
$num_rows = $mysqli_result->num_rows;
$row_array = $mysqli_result->fetch_array;
并且修复了错误但没有传递任何数据(因为显然 $mysqli_result 没有价值)。我不知道为什么会出现错误(它与其他站点的 MySQL 或 PHP 版本不同)?
有人可以帮我找出问题所在吗?非常感谢。抱歉,如果我忽略了一些超级简单的事情,我已经做了一段时间了。