【问题标题】:OO PHP mysqli database connectionOO PHP mysqli 数据库连接
【发布时间】:2018-12-30 19:43:56
【问题描述】:

我对下面的代码有问题,所以我创建了一个数据库连接并在 CMD 中运行它似乎工作正常,但我不是 100% 如何测试它?有人可以指出是否可以,我还是 PHP 的新手

<?php

class databaseConnection
{
    private $host;
    private $databasename;
    private $username;
    private $password;
    public $mysqli;

    //forcing the data to be given to the object (using the constructor)
    public function __construct()
    {
        $this->databaseConnect();
    }

    private function databaseConnect()
    {
        $this->host = 'localhost';
        $this->username = '$$$$$';
        $this->password = '$$$$$';
        $this->databasename = '$$$$$$$';

        $this->mysqli = new mysqli($this->host, $this->username, $this->password, $this->databasename);
        return $this->mysqli;
        echo('Connection Succeeded');
    }
}

【问题讨论】:

标签: php object mysqli


【解决方案1】:

为 OOP 尝试这种风格。 首先声明你的变量,比如:

$localhost = 'localhost'; 
$user      = 'user'; 
$pw        = 'pass';
$db        = 'database';
$mysqli = new mysqli($localhost,$user,$pw,$db);

供参考:this

【讨论】:

  • 我没有投反对票,但这并没有真正回答问题......也没有检查连接是否成功..
【解决方案2】:

'return' 之后的所有内容都不会被执行。

你应该包装'$this->mysqli;'在 if 中。

if($this->mysqli){
  echo 'OK';
} else {
  echo 'error';
  echo $this -> mysqli -> error;
}

如果连接成功,mysqli 返回一个布尔值。

要测试实际连接,可以添加一个“测试”函数,从默认表中选择 1 条记录。

【讨论】:

  • 嗨 Bert 谢谢,试过了,但仍然看不到 OK 或返回错误? if ($this->mysqli){ echo 'OK'; }else { 回声'错误'; echo $this -> mysqli -> 错误;
  • 你把它放在你的'return $this_.mysqli'之前吗?您的 databaseConnection() 是否正在初始化,例如 '$conn = new databaseConnection();'否则构造函数不会被触发?
  • 已修复!谢谢一百万:)
猜你喜欢
  • 2013-12-26
  • 1970-01-01
  • 2013-09-04
  • 1970-01-01
  • 1970-01-01
  • 2015-04-23
  • 1970-01-01
  • 1970-01-01
  • 2011-12-14
相关资源
最近更新 更多