【问题标题】:Warning: mysqli_free_result() expects exactly 1 parameter, 2 given [closed]警告:mysqli_free_result() 只需要 1 个参数,给定 2 个 [关闭]
【发布时间】:2015-02-28 06:38:41
【问题描述】:

我有一些用于分页数据的代码。我的数据正在显示,但分页不起作用。我收到以下错误:

警告:mysqli_free_result() 只需要 1 个参数,给定 2 个

以前,我使用 mysql 进行分页,然后我将 mysql_result() 更改为 mysqli_free_result()

这是我的代码:

<table class="table table-striped table-hover fill-head">
 <thead>
  <tr>
   <th>Code Poli</th>
   <th>Name Poli</th>
   <th>Floor</th>
   <th style="width: 150px">Action</th>
  </tr>
 </thead>
 <tbody>

<?php 

  $con=mysqli_connect("localhost","root","","klinik");
  $per_page = 2;
  $query = "SELECT COUNT(*) FROM poliknik";
  $page_query = mysqli_query($con,$query);
  $pages = ceil(mysqli_free_result($page_query, 0) / $per_page);
  $page = (isset($_GET['hal'])) ? (int)$_GET['hal'] : 1;
  $start = ($page - 1) * $per_page;         
  $data_kg=mysqli_query($con,"select * from poliknik order by id_poli DESC LIMIT $start,$per_page");
  while ($kg=mysqli_fetch_object($data_kg)){

?>

  <tr>
   <td><?php echo $kg->kode?></td>
   <td><?php echo $kg->name_poli?></td>
   <td><?php echo $kg->lt?></td>
   <td>
   <a class="btn btn-primary btn-sm" href="home.php?p=edit_poliknik&id_poli=<?php echo $kg->id_poli ?>"><i class="fa fa-edit"></i> Edit</a>
   <a class="btn btn-danger btn-sm" href="home.php?p=hapus_poliknik&id_poli=<?php echo $kg->id_poli ?>"><i class="fa fa-trash-o"></i> Delete</a>

   </td>
  </tr>

<?php } ?>

 </tbody>
</table>
<center>
 <div>
  <ul class="pagination pagination-lg pagination-colory">

<?php

  if($pages >= 1 && $page <= $pages){
    for($x=1; $x<=$pages; $x++){    
      echo ($x == $page) ? '<li class="active"><a href="home.php?p=poliknik&hal='.$x.'">'.$x.'</a></li>' : '<li><a href="home.php?p=poliknik&hal='.$x.'">'.$x.'</a></li>';
    }
  } 

?>

  </ul>
 </div>
</center>

您可以使用 mysql > http://pastebin.com/CkyazRZM

查看我的分页代码

【问题讨论】:

  • 错误/警告很明显,不是吗?
  • @Fred-ii- 显然错误消息也需要修复代码以帮助他。

标签: php mysqli pagination


【解决方案1】:

编辑这一行

$pages = ceil(mysqli_free_result($page_query, 0) / $per_page);

$pages = ceil(mysqli_fetch_array($page_query)[0] / $per_page);
mysqli_free_result($page_query);

【讨论】:

  • 酷,错误不再显示,但我的分页,仍然不显示:'(
  • mysqli_free_result() 返回布尔值。那么,你是在划分一个布尔值吗?已编辑..尝试已编辑的解决方案
  • 所以你可以给我一个解决方案?
  • 刷新你的页面,试试我给的解决方案。
  • 注意:类 mysqli_result 的对象无法在第 49 行的 poliknik.php 中转换为 int $pages = ceil($page_query / $per_page); // 第 49 行 mysqli_free_result($page_query);
【解决方案2】:

MySQLi 扩展没有mysqli_result 函数(它有一个mysqli_result ),而mysqli_free_result 函数完全是做别的事情。

您必须使用mysqli_fetch_row() 或类似方法获取行并访问数据:

$query = "SELECT COUNT(*) FROM poliknik";
$page_query = mysqli_query($con,$query);
$r = mysqli_fetch_row ($page_query);
$count = $r[0];
$pages = ceil($count / $per_page);

不要忘记检查mysqli_query()mysqli_fetch_row()的返回值,并妥善处理错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    相关资源
    最近更新 更多