分页中的Mysqli_error()和逻辑问题

时间:2015-12-16 00:35:00

标签: php mysqli pagination

问题

第一次使用分页,所以我仍然试图理解这一切是如何组合在一起的。我相信我在这里研究和应用的方法会有效但我遇到了一个奇怪的错误。

由于导致错误消息Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given的第二个mysqli_query失败,未访问数据。

数据库中只有一个条目,我只能假设这必然会产生一些奇怪的逻辑,但我甚至不能100%认为发生这种情况是有道理的。它也绝对是第二个mysqli_query,因为Could not get that data是输出。

非常感谢对分页过程的一些解释,如果有人能够发现我的错误,那将非常感激。

代码

<?php 

        $connect = mysqli_connect("localhost", "root", "");
        if (!$connect) {die(mysql_error());}mysqli_select_db($connect, "story.time");

         $rec_limit = 5;
         $sql = "SELECT count(id) FROM toptable ";
         $retval = mysqli_query($connect, $sql);

         if(! $retval ){die('Could not get this data: ' . mysql_error());}
         $row = mysqli_fetch_array($retval, MYSQL_NUM );
         $rec_count = $row[0];

         if( isset($_GET{'page'} ) ){$page = $_GET{'page'} + 1;$offset = $rec_limit * $page;}
         else{$page = 0;$offset = 0;}
         $left_rec = $rec_count - ($page * $rec_limit);
         $sql = "SELECT id, name, content FROM toptable ORDER BY id DESC LIMIT $offset, $rec_limit";

         $retval = mysqli_query($connect, $sql);
         if(! $retval ){die('Could not get that data: ' . mysqli_error($retval));}

         while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
         {echo "{$row['id']}  <br> "."{$row['name']} <br> "."{$row['content']} <br> ";}

         if( $page > 0 ){$last = $page - 2;
            echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a> |";
            echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";}

         else if( $page == 0 )
         {echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";}

         else if( $left_rec < $rec_limit )
         {$last = $page - 2;echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a>";}

         mysqli_close($connect);

?>

1 个答案:

答案 0 :(得分:0)

    var ref = new Firebase('https://zip-it.firebaseio.com/zips');

    $scope.detectChangeDigit1 = function() {
        var query = ref.orderByChild("digit1").equalTo($scope.zipCode.firstDigit.toString());
        $scope.digit1Array = $firebaseArray(query);
    };

<强> mysql_error()

你在其他地方使用mysql i 。尽量坚持下去。