こゆめPHP便利帳

PHP便利帳

session

セッションを始める
session_start();
セッションIDの置換
session_regenerate_id(true);
セッションを終える
$_SESSION=array();
session_destroy();

正規表現

パターン修飾子

修飾子説明
uUTF-8
m行末にマッチ
s全行マッチ

メタ文字

メタ説明
\エスケープ
^対象の最初または行頭
$対象の終わりまたは行末
.改行を除く文字
?0または1/最短マッチ
*0回以上
+1回以上

エスケープシーケンス

エスケープ説明
\n改行
\r復帰
\tタブ文字
\s空白文字
\S空白文字でない文字

PDO(SQLite3で)

PDOクラス

クラスの宣言
$pdo = new PDO('sqlite:データベースファイルのパス.db');
エラーモード
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);:PDOExceptionをスロー
フェッチモード
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);:結果をカラム名を添字にした配列に
SQL文を実行+作用行数を返す
$pdo->exec('SQL文');
SQL文を用意
$stmt = $pdo->prepare('SQL文');
参照バインド
$stmt->bindParam('パラメータ名',変数名(,データ型));
値バインド
$stmt->bindValue('パラメータ名',値(,データ型));
用意したSQL文を実行+成否を返す
$stmt->execute();
結果から次の1件を取得
$result = $tmt->fetch();
結果から残り全部を取得
$result = $tmt->fetchAll();
クラス等の破棄
$stmt = null; $pdo = null;

SQL

無ければテーブルを作る
CREATE TABLE IF NOT EXISTS テーブル名(カラム名 データ型( PRIMARY KEY),…)
レコードを取得する
SELECT 取得するカラム(カンマ区切り) FROM 対象のテーブル
取得条件をつける
WHERE 条件 ANDまたはOR …
カラム名 = 値
カラム名 IN (カンマ区切りまたは他のセレクト)
並び方
ORDER BY カラム名 DESCまたはASC,…
取得の最大数
LIMIT 最大数
取得開始位置
OFFSET 開始位置
カラムごとのカウント集計
SELECT カラム名,COUNT(カラム名) FROM テーブル名 GROUP BY カラム名
レコードを追加する
INSERT INTO テーブル名 (カラム名をカンマ区切り) VALUES (入れる値をカンマ区切り)
レコードを更新する
UPDATE テーブル名 SET カラム名 = 値,… WHERE 条件 ANDまたはOR …
レコードを削除する
DELETE FROM テーブル名 WHERE 条件 ANDまたはOR …
SQLiteで複数カラムを繋げて検索させる場合
(カラム名||カラム名)

色々

HTMLの特殊文字を変換する
htmlspecialchars(string)
パターンにマッチするパスを取得
glob(pattern);
コールバックできるリプレイス
preg_replace_callback(pattern,callback,subject);
フィルターインプット
filter_input(タイプ,'受け取る変数名',フィルター)
タイプ…INPUT_GET、INPUT_POST、他
フィルター(省略可)…FILTER_VALIDATE_EMAIL、他
メール送る(マルチバイト)
mb_send_mail(送信先メールアドレス,件名,本文,メールヘッダ);
リダイレクト
header('location: リダイレクト先');