php5.4 の pdo 経由で mysql5.5 に接続する
環境
$ php -v
PHP 5.4.6-1ubuntu1.1 (cli) (built: Nov 15 2012 01:18:34)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
$ mysql --version
mysql Ver 14.14 Distrib 5.5.29, for debian-linux-gnu (x86_64) using readline 6.2
こんなデータベースがあるとする
mysql> select * from tb1; +----------+--------------------------------+------+ | id | name | age | +----------+--------------------------------+------+ | php546 | dummy_101 | 21 | +----------+--------------------------------+------+
read.php
<?php /* */ print '<!DOCTYPE html><html lang="ja">'."\n"; print '<head><meta charset="UTF-8"><title>mysql php</title></head>'."\n"; print '<body>'."\n"; /* */ /* MySQL5.1over and PDO */ /* */ $DATABASE_SERVER = "mysql:host=localhost; dbname=db1; port=3306; charset=utf8"; $DATABASE_USER = "db1usr"; $DATABASE_PWD = "1234"; try{ /* */ $pdo = new PDO($DATABASE_SERVER, $DATABASE_USER, $DATABASE_PWD); }catch(PDOException $e){ echo 'Connection failed: ' . $e->getMessage(); } /* PDOオブジェクト自体に指定。レスポンスは常に連想配列形式で取得するようになる */ $pdo -> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); /* */ $query = "SELECT * FROM tb1"; $stmt = $pdo->prepare($query); $stmt->execute(); /* 表示 */ foreach ($stmt as $row) { print $row["id"]." ".$row["name"]." ".$row["age"]."<br>\n"; } /* */ $pdo = null; /* comment */ print '</body></html>'."\n"; /* comment */ ?>
input.php
<?php /* MySQL5.1over and PDO */ /* */ $DATABASE_SERVER = "mysql:host=localhost; dbname=db1; port=3306; charset=utf8"; $DATABASE_USER = "db1usr"; $DATABASE_PWD = "1234"; try{ /* */ $pdo = new PDO($DATABASE_SERVER, $DATABASE_USER, $DATABASE_PWD); }catch(PDOException $e){ echo 'Connection failed: ' . $e->getMessage(); } /* PDOオブジェクト自体に指定。レスポンスは常に連想配列形式で取得するようになる */ $pdo -> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); /* */ $query = 'INSERT INTO tb1 VALUES("php547", "dummy_102", 22)'; /* */ $stmt = $pdo->prepare($query); $stmt->execute(); /* */ $pdo = null; ?>
0 コメント:
コメントを投稿