概要
mysql関数を使ってphpからMySQL接続はphp5.5以降は非推奨となり、MySQLへの接続は「mysqli」か「PDO」になりました。
この「mysqli」と「PDO」を利用してPHPからMySQLへの接続方法を紹介します
接続するPHPのサンプルでは、MySQLのデータベースで以下のようなテスト用のデータベースを使用しています
- データベース:MariaDB 10.3
- データベース名:testdb
- テーブル名:test_tbl
MariaDB [testdb]> SELECT * FROM `test_tbl`; +----+------------+ | id | name | +----+------------+ | 1 | strawberry | | 2 | cherry | | 3 | pear | | 4 | banana | | 5 | grape | | 6 | melon | | 7 | peach | | 8 | apple | | 9 | kiwi | | 10 | plum | +----+------------+ 10 rows in set (0.002 sec)
PHPで、mysqli を使ってMySQLに接続する
mysqliを利用して、MySQLに接続します。データベース名、テスト名、パスワード等はご使用の環境によって変更して下さい
$ vim mysqli.php
<?php
$server = 'localhost';
$user = 'dbuser';
$pass = 'pass1234';
$dbname = 'testdb';
$my = new MySQLi($server, $user, $pass, $dbname);
$my->set_charset('utf8');
$sql = "SELECT * FROM `test_tbl` LIMIT 0 , 30";
$result = $my->query($sql);
// データベースの中身を取得
while($row = $result->fetch_assoc() ){
echo $row['id'] ."\t" .$row['name'] . "\n";
}
// DB接続を閉じる
$my->close();
?>
上記のPHPを実行すると下記のようになります
$ php mysqli.php 1 strawberry 2 cherry 3 pear 4 banana 5 grape 6 melon 7 peach 8 apple 9 kiwi 10 plum
PHPで、PDO を使ってMySQLに接続する
PDOを利用して、MySQLに接続します。データベース名、テスト名、パスワード等はご使用の環境によって変更して下さい
$ vim mysq_pdo.php
<?php
$user = 'dbuser';
$pass = 'pass1234';
try {
$pdo = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8mb4', $user, $pass);
$dsn = $pdo->query('SELECT * FROM `test_tbl` LIMIT 0 , 30');
$dsn->execute();
$all = $dsn->fetchAll();
foreach ($all as $row) {
echo $row['id'] ."\t" .$row['name'] . "\n";
}
// 接続を閉じる
$dsn = null;
$pdo = null;
} catch (PDOException $e) { // PDOExceptionをキャッチする
print "エラー!: " . $e->getMessage() . "<br/gt;";
die();
}
?>
上記のPHPを実行すると下記のようになります
$ php mysql_pdo.php 1 strawberry 2 cherry 3 pear 4 banana 5 grape 6 melon 7 peach 8 apple 9 kiwi 10 plum


コメント