1

I have been trying to show some results from an MySQL database, which has more than 5000 lines.

I have tried with 10 lines, the code works, but it shows warning like in the screenshot!!

Shows error in wampserver

Shows almost same error in online server as well Please help me to fix it , I have no knowledge in SQL.

Error

    <?php
    class DBController
    {
        private $host = "localhost";
        private $user = "user";
        private $password = "1234";
        private $database = "new1";



        function __construct()
        {
            $conn = $this->connectDB();
            if (!empty($conn)) {
                $this->selectDB($conn);
            }
        }

        function connectDB()
        {
            $conn = mysql_connect($this->host, $this->user, $this->password);
            return $conn;
        }

        function selectDB($conn)
        {
            mysql_select_db($this->database, $conn);
        }

        function runQuery($query)
        {
            $result = mysql_query($query);
            while ($row = mysql_fetch_assoc($result)) {
                $resultset[] = $row;
            }
            if (!empty($resultset))
                return $resultset;
        }

        function numRows($query)
        {
            $result   = mysql_query($query);
            $rowcount = mysql_num_rows($result);
            return $rowcount;
        }
    }
    ?>

Please check it

<?php
    function perpage($count, $per_page = '10',$href) {
        $output = '';
        $paging_id = "link_perpage_box";
        if(!isset($_POST["page"])) $_POST["page"] = 1;
        if($per_page != 0)
        $pages  = ceil($count/$per_page);
        if($pages>1) {

            if(($_POST["page"]-3)>0) {
                if($_POST["page"] == 1)
                    $output = $output . '<span id=1 class="current-page">1</span>';
                else                
                    $output = $output . '<input type="submit" name="page" class="perpage-link" value="1" />';
            }
            if(($_POST["page"]-3)>1) {
                    $output = $output . '...';
            }

            for($i=($_POST["page"]-2); $i<=($_POST["page"]+2); $i++)    {
                if($i<1) continue;
                if($i>$pages) break;
                if($_POST["page"] == $i)
                    $output = $output . '<span id='.$i.' class="current-page" >'.$i.'</span>';
                else                
                    $output = $output . '<input type="submit" name="page" class="perpage-link" value="' . $i . '" />';
            }

            if(($pages-($_POST["page"]+2))>1) {
                $output = $output . '...';
            }
            if(($pages-($_POST["page"]+2))>0) {
                if($_POST["page"] == $pages)
                    $output = $output . '<span id=' . ($pages) .' class="current-page">' . ($pages) .'</span>';
                else                
                    $output = $output . '<input type="submit" name="page" class="perpage-link" value="' . $pages . '" />';
            }

        }
        return $output;
    }

    function showperpage($sql, $per_page = 10, $href) {     
        $result  = mysqli_query($sql);
        $count   = mysqli_num_rows($result);
        $perpage = perpage($count, $per_page,$href);
        return $perpage;
    }

?>

err

Praveen Kumar Purushothaman
  • 164,888
  • 24
  • 203
  • 252
Archana P
  • 35
  • 5

1 Answers1

2

Okay, taking the risk myself and answering the migrated code. Make sure you have MySQLi installed by checking with phpinfo();. Your new code:

<?php
    class DBController
    {
        private $host = "localhost";
        private $user = "user";
        private $password = "1234";
        private $database = "new1";
        private $conn;

        function __construct()
        {
            $this->conn = $this->connectDB();
            if (!empty($conn)) {
                $this->selectDB($conn);
            }
        }

        function connectDB()
        {
            $conn = mysqli_connect($this->host, $this->user, $this->password, $this->database);
            return $conn;
        }

        function runQuery($query)
        {
            $result = mysqli_query($this->conn, $query);
            while ($row = mysqli_fetch_assoc($result)) {
                $resultset[] = $row;
            }
            if (!empty($resultset))
                return $resultset;
            return false;
        }

        function numRows($query)
        {
            $result   = mysqli_query($this->conn, $query);
            $rowcount = mysqli_num_rows($this->conn, $result);
            return $rowcount;
        }
    }
?>

Notes:

  1. New private variable $conn.
  2. Now there's no select_db() function.
  3. Added better return for runQuery.

Reason: Why shouldn't I use mysql_* functions in PHP?

Hope this helps.

Community
  • 1
  • 1
Praveen Kumar Purushothaman
  • 164,888
  • 24
  • 203
  • 252