我正在重新处理我的所有 mysql_* 和 mysqli 连接以使用 PDO,但我似乎连基础知识都没有。我有两个文件:一个创建连接并将其返回,另一个将连接用于我认为必要的任何目的。但是,由于某种原因,我无法让连接正确返回以供使用。如果我运行任何 PDO 函数(查询、准备等),我会收到 500 的服务器响应,并且没有错误消息。但是,我确实知道,如果我在同一个函数中创建连接并查询所有内容,那么一切都是笨拙的。我假设这很简单,所以也许新鲜的眼睛可以帮助我。
db_connect.php(形成连接):
class db_connect {
function __construct() {}
function __destruct() {}
public function connect() {
require_once 'db_info.php';
try{
$dbh = new PDO('mysql:host='.DB_HOST.';dbname='.DB_DATABASE, DB_USER, DB_PASSWORD);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
} catch (PDOException $e) {
echo 'Connection Failed: ' . $e->getMessage();
}
return $dbh;
}
public function close() {
$dbh = null;
}
}
operations.php(利用连接):
class operations {
private $dbh;
function __construct() {
require_once 'db_connect.php';
$this->dbh = new db_connect();
$this->dbh->connect();
}
function runQuery() {
// causes 500 error, no logs:
$stmt = $dbh->query("SELECT * FROM myTable");
}
}
我确实四处寻找一些答案,但我找到的解决方案都不适合我。提前感谢您的帮助。