gpt4 book ai didi

php - 使用对象进行数据库连接

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

我是 OOP 的新手,有这段代码,但在创建数据库连接时遇到问题,可能是什么问题?奇怪的是,我没有收到任何错误,但我无法从数据库中进行任何 MYSQL 插入或选择,因为尚未建立连接

    //include the file that contains variables necessary for database connection
require_once 'configurations.php';

//This is the class that will be used for the MySQL Database transactions
class MySQLDatabase
{
private $database_connection;

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

public function open_connection()
{
$this->database_connection = mysql_connect(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD);
if (!$this->database_connection)
{
//if the connection fails, return the following message and indicate the error
die("Could not connect to the MYSQL Database due to: " . mysql_error());
}
else
{
//if the connection is made to MYSQL database, then select the database being used
$database_selection = mysql_select_db(DATABASE_NAME, $this->database_connection);

//if the database to be used cannot be selected, return this error
if (!$database_selection)
{
die ("Could not select the database due to: " . mysql_error());
}
}
}//end of function open database
}//end of class MySQLDatabase

$database_transactions = new MySQLDatabase();

最佳答案

有几件事我会考虑...

  • 你编写函数__construct()但所有其他方法和属性是 publicprivate - 使用public 函数
    __construct()
  • 为什么方法open_connection()民众?应该从“外部”?你想要某人吗直接执行这个方法从一个对象?考虑将其设为 private function open_connection() -> http://de.php.net/manual/en/language.oop5.visibility.php
  • 为什么要在 OOP 中使用 die()?你真的想将错误信息输出到用户?这样做是不安全的。最好抛出 Exception 并使用 try{}catch{} 来处理错误 -> http://de.php.net/manual/en/language.exceptions.php

您真的确定没有收到任何错误消息吗?显示使用您的 query 方法...您的代码到目前为止应该没问题(如果有什么地方不正确,至少您应该在屏幕上看到 die() 错误)。

关于php - 使用对象进行数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4813275/

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