2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PDOの使い方

Posted at

PDOとは「PHP Data Objects」の略で、データベースへの接続やエラーの処理などを行う働きがあります。
では、どのようにしてPDOを使えばいいのでしょうか。

#MySQLへの接続
データベースに接続することは、MySQLへの接続も意味します。
そのときのコードの書き方は、次の通りです。

<?php
$todo = 'mysql:dbname=todo;host=localhost';
$user = 'yamada';
$password = 'yamada1111';

try{
    $dbh = new PDO($todo, $user, $password);

    print('接続に成功しました。<br>');

    $dbh->query('SET NAMES sjis');

    $sql = 'select * from shouhin';
    foreach ($dbh->query($sql) as $row) {
        print($row['id']);
        print($row['name'].'<br>');
    }
}catch (PDOException $e){
    print('Error:'.$e->getMessage());
    die();
}

$dbh = null;

?>

特に、PDOExceptionを記載することでPDO接続時で起こったエラーを表示してくれるので、大変便利なコードとなっています。

##queryメソッド
queryメソッドは、SQL文をデータベースに送って様々な処理を行うものです。
特に、即時実行するときや1回しか行わないときによく使われます。
そして、次のような書き方をします。

<?php 

$dbh->query(’SQL文の記入’);


$sql = 'SELECT  '名前', '年齢' WHERE 'ID' = $id';
$dbh->query($sql);

?>

###prepareメソッド
prepareメソッドは、同じテーブルに値を入れて何度もデータを入れる際に使う、とても効率の良いコードです。
書き方は、次の通りです。

<?php 

$dbh->prepare("UPDATE NAMAE
                    SET '年齢' = ? 
                    WHERE id = ?");

//実行するときは、excuteメソッドを用います。
$stmt = $dbh->prepare('SQL文');

$stmt->execute(array(20, 2));

?>

この他にも、PDOの使い方はたくさんあります。

2
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?