【发布时间】:2020-02-23 04:31:32
【问题描述】:
我想使用 php oop 类创建一个新数据库,我创建了 2 个类,第一个类仅连接到本地主机,第二个类根据连接类“第一类”在此本地主机中创建数据库
class Connection
{
public $conn;
function __construct() {
try {
$this->conn = new PDO('mysql:host=127.0.0.1;charset=utf8', 'root', '');
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die($e->getMessage());
}
return $this->conn;
}
}
class CreateNewDataBase
{
public $connect;
function __construct()
{
$this->connect = new Connection;
$sql = 'CREATE DATABASE `startex` CHARACTER SET utf8 COLLATE utf8_general_ci';
$query = $this->connect->prepare($sql);
$query->execute();
if ($query) echo 'Done Your Database Is Created Successfuly';
}
}
$newObject= new CreateNewDataBase;
输出是
致命错误:未捕获的错误:调用未定义的方法 Connection::prepare()....CreateNewDataBase->__construct() 在我的 文件浴
【问题讨论】:
-
你不能从构造函数返回一个值,但它仍然应该设置
$conn值,因为它是公共的,你可以使用$this->connect->conn->prepare($sql);