ORAオラ日記

プログラムの事や時事ネタなど

テストテスト久しぶり

2024-07-17 21:20:53 | Weblog
10年以上ぶりにログインした。停止mailが来たので。とりあえず更新しておく。

久々に

2013-07-11 22:07:31 | Weblog
久々に投稿

ちょっとだけ

2009-10-08 01:02:16 | Weblog
ちょっとだけ更新

久々に投稿

2009-09-26 13:13:36 | Weblog
忘れないように投稿しておく。

まだ解除はしない。

このブログは

2008-08-02 16:42:34 | Weblog
そろそろ閉鎖しようかな。

正規表現

2008-06-01 19:22:27 | Weblog
正規表現を本を見ないですらすら使いこなせると非常にスマートに見えますよね。自分はどうもまだ覚えられない。毎回使うたびに本を確認しないと無理。毎回忘れとるよ、、。

PEAR DBとPDOの使い方の違いまとめ

2007-08-18 21:28:21 | Weblog
■接続方法

PEAR DB
$dsn = "pgsql://username:userpass@localhost/dbname";

PDO
$dsn = "pgsql:dbname=dbname; user=username; password=userpass; host=localhost;";
※「;」は無くてもいいみたい。

PEAR DB
require_once("DB.php");
$db = DB::connect($dsn);

PDO
$db = new PDO($dsn);


■SQLの実行

$sql = "SELECT * FROM tablename";

PEAR DB
$res = $db->query($sql);

PDO
$res = $db->query($sql);

※クエリーは同じだが、実際にはPDOでは、プリペアドステートメントを利用する。こっちの方が早くなり、SQLインジェクション対策を自動的にしてくれるようです。
$res = $db->prepare($sql);
$res->execute();


■トランザクション

PEAR DB
$db->query("BEGIN");

PDO
$db->beginTransaction();

--------

PEAR DB
$db->query("ROLLBACK");

PDO
$db->rollBack();

-------

PEAR DB
$db->query("COMMIT");

PDO
$db->commit();


■エラーハンドリング

PEAR DB
if (DB::isError($db)) {
die("接続失敗{$db->getMessage()}");
}

PDO
try{

} catch (PDOException $e) {
die("接続失敗{$e->getMessage()}");
}