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: リダイレクト先');