温故知新 linux実践講座

温故知新 linux実践講座

温故知新。linuxを使いこなしてみよう。

ホーム » PHP入門 » MySQLに接続する mysqlとmysqliそれからPDO…..

— 広告 —


— 広告 —

MySQLに接続する mysqlとmysqliそれからPDO…..

所要時間 約 2分

PHPでMySQLを操作するAPIは「mysqli」か「PDO」を使うといいよという話」という投稿をgoogleで検索。
 
なんだか mysqli か PDO を使って接続するほうが良いと書いてありました。
 

比較項目 mysql mysqli PDO
どのバージョンから使えるか 2.0 5.0 5.1
開発状況 保守対応のみ 進行中 進行中
ライフサイクル 将来的に廃止 活動中 活動中
オブジェクト指向開発できるか ×
手続き型で開発できるか ×

 
PHP 5.3.6より前のバージョンの PDO MySQL で charset を指定する
 

<?php
$options = array(
    PDO::MYSQL_ATTR_READ_DEFAULT_FILE  => '/etc/my.cnf',
); 
$pdo = new PDO(
    'mysql:host=yourhost;dbname=yourdb',
    'user', 'password', $options
);

 
/etc/my.cnf

[client]
default-character-set = utf8

 

この方法ならPDOの中の libmysql に charset を知らせることが出来る。SET NAMES だとMySQLサーバには charset が伝わるけれどクライアント側は latin1 のままなのでエスケープ処理で問題が出る可能性があります(と、思ったけれどプリペアドステートメントなら大丈夫?)。

なお、この方法は PDO の中が libmysql でなければ使えません。Linux 版のビルドでは大抵大丈夫だと思いますが、Windows 版のビルドでは PDO の中身が mysqlnd なのでこの方法は使えません(PDO::MYSQL_ATTR_READ_DEFAULT_FILE というクラス定数が存在しない)。

 
いろいろ色々あるんですよねぇ。

-- 広告 -- -- 広告 --

 

  PHP入門 

この記事に関連する記事一覧

アフィリエイトで稼ぐ
プロフィール

ぴよふぁくとりぃです。

職業は自宅でサーバ管理、資格は薬剤師です。
趣味も職業もパソコンラブです。
よろしくね。
連絡先: admin@arakanoj.com
URL: http://piyofactory.com

検索
人気ページ
東京電力予想最大電力(万kW)
twitter
使い方を知れば知るほど楽しく使える Linux。
Linux の基本を覚えてもっともっと楽しいコンピュータの使い方を身につけましょう。