我有一个非常标准的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);
Run Code Online (Sandbox Code Playgroud)
现在,首先,我知道它正在连接正确,因为我没有得到die方法加上我在之前添加了一个其他条件并且它已经检出.然后页面显示,但我收到错误:
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
Run Code Online (Sandbox Code Playgroud)
我已经仔细检查了我的数据库,并且有一个名为jobs的表,其中包含一行"id"(它是主行).令我困惑的是这是我从我构建的另一个网站上复制和粘贴的代码,由于某种原因,代码在这个代码上不起作用(我显然复制并粘贴它然后只是相应地更改了表名和行).
我看到了错误并尝试过:
$num_rows = $mysqli_result->num_rows;
$row_array = $mysqli_result->fetch_array;
Run Code Online (Sandbox Code Playgroud)
并修复了错误但导致没有数据传递(因为很明显$ mysqli_result没有值).我不知道为什么错误要求(这是MySQL或PHP版本与其他网站的区别)?
有人可以帮我追查问题吗?非常感谢.对不起,如果这是我看到的超级简单的东西,我已经有一段时间了.
您没有选择数据库
$mysqli = mysqli_connect("localhost","username","password","database");
Run Code Online (Sandbox Code Playgroud)