gpt4 book ai didi

PHP OOP 学习曲线 - MySQL 对象失败

转载 作者:行者123 更新时间:2023-11-29 06:08:46 26 4
gpt4 key购买 nike

<分区>

我目前正在学习 PHP,并且是 OOP 的新手。我正在尝试创建一个对象来处理 MySQL 查询和连接。

这是我到目前为止创建的:

class MySQLDatabase {

private $connection;

function __construct() {
$this->open_connection();
}

public function open_connection() {
$this->connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
if(mysqli_connect_errno()) {
die(
"Database connection failed: " . mysqli_connect_error() .
" (" . mysqli_connect_errno() . ")"
);
}
}

public function close_connection() {
if(isset($this->connection)) {
mysqli_close($this->connection);
unset($this->connection);
}
}

public function query($sql) {
$cleaned_sql = mysqli::real_escape_string($sql);
$result = mysqli_query($this->connection, $cleaned_sql);
$this->confirm_query($result);
return $result;
}

public function mysql_prep($string) {
$escaped_string = mysqli_real_escape_string($this->connection, $string);
return $escaped_string;
}

private function confirm_query($result) {
if (!$result) {
die("Database query failed.");
}
}
}

在面向公众的方面(进行测试以确保一切按预期工作):

$sql = "INSERT INTO users (id, username, password, first_name, last_name) ";
$sql .= "VALUES (1, 'jbloggs', 'secretpwd', 'Joe', 'Bloggs')";
$result = $database->query($sql);

目前,我只得到以下输出:数据库查询失败。

问题似乎与我的 mysql_prep 函数有关,因为当我删除它时一切正常。

非常欢迎任何建议。

提前致谢!亚历克斯。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com