そのため、DBアクセスが必要なときにいつでもDBオブジェクトを作成できるように、単純なPDO接続クラスを構築しようとしていますが、何を試しても同じエラーが発生し続けます。
これがDBクラスの私のコードです
<?php
class DbConnect
{
// Database login vars
private $dbHostname = 'localhost';
private $dbDatabase = 'database';
private $dbUsername = 'username';
private $dbPassword = 'password';
public $db = null;
public function connect()
{
try
{
$db = new PDO("mysql:host=".$this->dbHostname.";dbname=".$this->dbDatabase, $this->dbUsername, $this->dbPassword); // Establish DB connection
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Set error handling
return $db;
}
catch(PDOException $e)
{
echo "It seems there was an error. Please refresh your browser and try again. ".$e->getMessage();
}
}
}
?>
そして、これが私がそれを使用しようとしているクラスの私のコードです:
<?php
session_start();
require 'DbConnect.php';
class User
{
public function bindParams()
{
$DbConnect = new DbConnect();
$sql = $DbConnect->connect();
$sql->prepare("insert into dbobjectex(firstName, lastName) values (:firstName, :lastName)");
$sql->bindParam(':firstName', $_SESSION['firstName']);
$sql->bindParam(':lastName', $_SESSION['lastName']);
$sql->execute();
}
}
?>
次に、Userクラスを作成した場所からbindParams()が呼び出されます。私が繰り返し発生する2つのエラーは、「NetworkError:500InternalServerError」と「HTMLドキュメントの文字エンコードが宣言されていません」です。私がここで間違っていることについて何か考えはありますか?アドバイスありがとうございます。