@Coddee.

Unity/C#とか、PHP/MySQLとか。ぺーぺーがプログラムの備忘録も兼ねて。

【PHP/MySQL】忘れないようにPDO

ほんの一握りのやる気が、今のブログを成り立たせています。
どもども、ヤヅキです。(こんな書き始めも、今回が初めてかも)
記事の様子を見ていると、なんだかUnity/C#の記事がだいぶ人気があって、ありがとうございますね。見ていただいて。
だが今回の話題も、PHPについてだよっ!!ごめんねw

エスケープ系ですげー叱ってもらった

うん、そうなんだ。
まぁ「ライブラリのエスケープ処理使えよ」って話なんですけど、crontabで処理まわす際、これが難しい...!
ファイルの読み先とか、いろいろゴニョゴニョすればいいみたいなんだけど、ライブラリを使用せず「PDO」でまわす作戦に。

PDOの記述方法だけ。

詳しい内容は割愛、まずは記述方法を覚えておこうと。

<?php
// SQL用に値を準備
$memberUID = 100;
$memberAddress = "mail@address.com";
// PDO新規オブジェクト定義
$db = new PDO("mysql:host=localhost;dbname=DBName;charset=utf8", "User", "Password");
// 実行するSQL文
$sql  = "SELECT member_name ";
$sql .= "FROM com_member ";
$sql .= "WHERE ";
$sql .= "    member_id = :id ";
$sql .= "    AND member_address = :add ";
// SQLセット
$sth = $db->prepare($sql);
// 型を指定し、セットされたSQL文に値を格納
$sth->bindParam(":id", mysql_real_escape_string($memberUID), PDO::PARAM_INT);
$sth->bindParam(":add", mysql_real_escape_string($memberAddress), PDO::PARAM_STR);
// SQL実行
$queryExe = $sth->execute();
// 値を取得
$queryResult = $sth->fetchAll(PDO::FETCH_ASSOC);

こんな感じ。結果として

array( [0] => array( [member_name] = 会員の名前 ) ... )

こんな感じになる。いろいろとポイントはあるんだけど、取り急ぎ備忘録に。