微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mysql-php使用静态或非静态连接?

我是这个主题的新手.我只是想连接我的数据库获取数据.当使用静态连接时,它正在工作但不使用非静态.正如我所说,我对PHP知之甚少,可能会遗漏一些简单的东西.
尝试获取非静态时出错由于发生内部服务器错误,无法显示页面.
我的代码

> <?PHP


class DB_Connect extends MysqLi{

  //  protected static $connection;//working
       protected  $connection;   / not working


    function __construct() {

    }


    function __destruct() {


    }
    public function connect() {  
        if(!isset($this->$connection)) {

            $config = parse_ini_file('./configOop.ini'); 
            $this->$connection = new MysqLi($config['dbhost'],$config['username'],$config['password'],$config['dbname']);

        }
        else{}
         return $this->$connection;
         /*
        // using this part for static connection object, working
        if(!isset(self::$connection)) {

            $config = parse_ini_file('./configOop.ini'); 
            self::$connection = new MysqLi($config['dbhost'],$config['username'],$config['password'],$config['dbname']);

        }
        else{}


        return self::$connection;
        */
    }


    // Closing database connection
    public function close() {
      //  MysqL_close();
    }

} 
?>

//

    <?PHP  include 'db_connectOop.PHP'; ?>
<?PHP
 // error_reporting(0);
  $db=new DB_Connect();
   $dbConn=$db->connect();



   if($result =$dbConn->query("Select * from cities")or die($dbConn->error)){

   if($count=$result->num_rows){

      while($row = $result->fetch_object())
      {
       echo $row->idcities;
      }
   }
 }

?>

解决方法:

一个小小的错误:$this-> $connection应该是$this->连接.

PHP不需要第二个$,因为它已经知道(因为 – >)你指的是一个属性.如果你像你那样添加$,你基本上得到局部变量$connection的值,并使用该值作为属性名称.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐