■なぜシングルトン?
class TransactionManager
{

private static $_TransactionManager;
private $_db;

private function __construct()
{
try {
$this->_db = new PDO(self::$dsn, self::$user, self::$pass);
} catch (PDOException $e) {
print 'connection error!: ' . $e->getMessage() . '<br />';
}
}
public function getConnection()
{
return $this->_db;
}

public static function getInstance()
{
if ($_TransactionManager == null) {
$_TransactionManager = new TransactionManager();
}
return $_TransactionManager;
}
}

■使う側

$sql = "SELECT * FROM TABLE WHERE account = :account";
$stmt = $cnn->prepare($sql);
$acount = 'account_A';
$stmt->bindParam(':account', $acount);
if ($stmt->execute()) {
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
print_r($row);
}
} else {
print_r($stmt);
}


とか