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 コメント:
コメントを投稿