我很难在以下代码中找到错误。似乎所有代码都是正确的,但每次我尝试运行页面时都会出现此警告错误。有没有人对如何解决这个问题有很好的了解?是的,我已经检查了连接,这很好,并且名为event的表在数据库服务器中有event_id。提前致谢。
代码从数据库生成记录并根据页码将其分隔。我每页设置了1条记录。
警告:mysql_result()要求参数1为resource,boolean 在第89行的/Applications/XAMPP/xyz/xyz/xyz/event.php中给出
<?php
$link = mysql_connect('localhost', '#', '#');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$per_page = 1;
$pages_query = mysql_query("SELECT count(event_id) FROM event ORDER BY event_date");
$pages = ceil(mysql_result($pages_query, 0) / $per_page);
$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
$start = ($page - 1) * $per_page;
$query = mysql_query("SELECT * FROM event LIMIT $start, $per_page");
while ($query_row = mysql_fetch_assoc($query)) {
$event_name = $query_row['event_name'];
$event_info = $query_row['event_info'];
?>
第89行
$pages = ceil(mysql_result($pages_query, 0) / $per_page);
答案 0 :(得分:1)
首先:
不推荐使用以mysql_
而非mysqli_
开头的每个功能。
这意味着你不应该使用它们。这意味着当删除这些功能时,你的脚本会突然发生,这很快就会发生。
自从这些功能被认为是最糟糕的做法以来,已经很长时间了。今天没有理由使用这些功能。
第二
mysql_query()
在查询失败时返回布尔值false。
你真正的问题在于上面这一行。弄清楚为什么$pages_query = mysql_query("SELECT count(event_id) FROM event ORDER BY event_date");
失败,你的脚本会起作用。
第三:
立即切换到mysqli_
功能。
答案 1 :(得分:1)
您忘记在mysql_connect()
之后使用mysql_select_db($database_name)
选择数据库。
因此,mysql_query()
失败并返回false
,因此mysql_result()
收到布尔值而不是结果集资源,而后者又生成了您看到的消息。
也就是说,关于弃用mysql扩展(有利于mysqli或PDO)的评论是非常有效的。
答案 2 :(得分:0)
为了理解,请不要弃用它,试试这个:
<?php
$host = "localhost";
$username = "your_username_here";
$password = "your_pass_here";
$dbname = "your_db_name_here";
$con = mysql_connect($host, $username, $password) or die ("Could not connect to Server");
$db = mysql_select_db($dbname, $con) or die ("Could not connect to database: $dbname");
$per_page = 1;
$pages_query = mysql_query("SELECT count(event_id) FROM event ORDER BY event_date");
$pages = ceil(mysql_result($pages_query, 0) / $per_page);
$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
$start = ($page - 1) * $per_page;
$query = mysql_query("SELECT * FROM event LIMIT $start, $per_page");
while ($query_row = mysql_fetch_assoc($query)) {
$event_name = $query_row['event_name'];
$event_info = $query_row['event_info'];
}
?>
注意:如果您对此有所了解,我建议您转到其中 mysqli或PDO。