PHP便利帳
session
- セッションを始める
session_start();- セッションIDの置換
session_regenerate_id(true);- セッションを終える
$_SESSION=array();
session_destroy();
正規表現
パターン修飾子
メタ文字
| メタ | 説明 |
|---|
| \ | エスケープ |
| ^ | 対象の最初または行頭 |
| $ | 対象の終わりまたは行末 |
| . | 改行を除く文字 |
| ? | 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: リダイレクト先');