PHPでMySQL接続のためのクラスを作成

MySQL接続クラス

PHPでMySQL接続のためのクラスを書きました。PDO(PHP Data Object)で書かれているので、PHP5.1以上が必要です(PHP4では動きません)。

[php] host = $host;
$this->user = $user;
$this->pass = $pass;
$this->db = $db;
$this->dsn = “mysql:dbname=$db;$host=$host”;
}

function fetch($sql)
{
try{
$pdo = new PDO ($this->dsn, $this->user, $this->pass, array(
PDO::MYSQL_ATTR_INIT_COMMAND => “SET CHARACTER SET ‘utf8′”));
$stmt = $pdo->prepare($sql);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $data;
} catch(PDOException $ei) {
echo ‘Connection failed:’.$e->getMessage();
exit();}
}

function execute ($sql)
{
try{
$pdo = new PDO ($this->dsn, $this->user, $this->pass, array(
PDO::MYSQL_ATTR_INIT_COMMAND => “SET CHARACTER SET ‘utf8′”));
$stmt = $pdo->prepare($sql);
$stmt->execute();
$data = $pdo->lastInsertId();
return $data;
} catch(PDOException $ei) {
echo ‘Connection failed:’.$e->getMessage();
exit();}
}

}
?>
[/php]

クラスの使い方

このクラスファイルをrequireして、以下のような感じで使えます。

[php] $conn = new DB($host,$user,$pass,$db);
$sql = “SELECT * FROM hoge where hogehoge”;
$result = $conn->fetch($sql);
[/php]

executeも同様です。

[php] $update = $conn->execute($sql);
[/php]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください