我正在一个我正在建立的网站上进行分页,我在这里找到了一个很好的分页示例:http://www.awcore.com/dev/1/3/Create-Awesome-PHPMYSQL-Pagination_en。我想我们在我的网页上,但我们正在使用mysql I而不是mysql,需要转换一些它。
我是MySQL新手,正在尝试找出转换以下代码的语法:

function pagination($query, $per_page = 10,$page = 1, $url = '?'){
    $query = "SELECT COUNT(*) as `num` FROM {$query}";
    $row = mysql_fetch_array(mysql_query($query));
    $total = $row['num'];
    $adjacents = "2";

我知道这并不能告诉你整个代码是什么(大约100行长),但我假设这可能是一个简单的语法更改。我最初是这样做的:
function pagination($query, $per_page = 10,$page = 1, $url = '?'){
    $query = "SELECT COUNT(*) as `num` FROM {$query}";
    $row = mysqli_fetch_array(mysqli_query($query));
    $total = $row['num'];
    $adjacents = "2";

我知道mysql I_query需要两个参数,但我也认为mysqli_query的参数是相同的,所以我想我只是不理解代码。抱歉,如果这是一个超基本的问题,我只是想把我的头围绕这些概念!谢谢你的帮助。
顺便说一句,我确实看到这个问题(Converting from mysql to mysqli (mysql_fetch_array)),但似乎他在采取一些可能不需要采取的额外步骤。
编辑
以下是我收到的关于上述代码的错误消息,仅供参考:
警告:mysqli_query()需要至少2个参数,第9行linkinformation/functions.php中给出了1个
警告:mysqli_fetch_array()期望参数1是mysqli_result,第9行linkinformation/functions.php中给出的空值
编辑
所以我在函数中添加了一个连接(这是正确的方法吗?我尝试在函数外部连接,但它正在获取信息):
function pagination($mysqli, $query, $per_page = 10,$page = 1, $url = '?'){
    $mysqli = mysqli_connect("localhost","username","password", "db_name");
    $query = "SELECT COUNT(*) as `num` FROM {$query}";
    $row = mysqli_fetch_array(mysqli_query($mysqli, $query));
    $total = $row['num'];
    $adjacents = "2";

我收到这个警告:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in linkstuff/functions.php on line 10

它得到一个布尔值(我假设是真的),而它应该得到我认为的其他值/实际的查询。

最佳答案

您还需要将连接更改为mysqli,并将connection对象作为第一个参数传递给mysqli_query

function pagination($link, $query, $per_page = 10,$page = 1, $url = '?'){
    $query = "SELECT COUNT(*) as `num` FROM {$query}";
    $row = mysqli_fetch_array(mysqli_query($link, $query));
    $total = $row['num'];
    $adjacents = "2";

09-27 10:52