简体   繁体   English

显示wampserver中已弃用的错误

[英]Shows Deprecated error in wampserver

I have been trying to show some results from an MySQL database, which has more than 5000 lines. 我一直在尝试显示MySQL数据库的一些结果,该数据库有5000多行。

I have tried with 10 lines, the code works, but it shows warning like in the screenshot!! 我已经尝试了10行,代码可以正常工作,但是它像屏幕截图一样显示警告!

Shows error in wampserver 在wampserver中显示错误

Shows almost same error in online server as well Please help me to fix it , I have no knowledge in SQL. 在联机服务器中也显示几乎相同的错误,请帮助我修复它,我对SQL不了解。

错误

    <?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;
    }

?>

呃

Okay, taking the risk myself and answering the migrated code. 好的,我自己冒险并回答移植的代码。 Make sure you have MySQLi installed by checking with phpinfo(); 通过检查phpinfo();确保安装了MySQLi 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 . 新的私有变量$conn
  2. Now there's no select_db() function. 现在没有select_db()函数。
  3. Added better return for runQuery . runQuery增加了更好的return

Reason: Why shouldn't I use mysql_* functions in PHP? 原因: 为什么我不应该在PHP中使用mysql_ *函数?

Hope this helps. 希望这可以帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM