PHPでMySQLに接続する方法(mysqli, PDO)
概要
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
ディスカッション
コメント一覧
まだ、コメントがありません