PHP8模試 間違えたとこまとめ その3

燐華

まだ続く

データベース制御4大命令

  1. データ登録(Create):データベースのデータ挿入。テーブルにデータを登録する構文。
    INSERT INTO テーブル名(列名1, 列名2, ...) VALUES(値1, 値2, ...);
  2. データ取得(Read):データベースのデータ取得。
    SELECT 列名 FROM テーブル名;
  3. データ更新(Update):データベースのデータ更新。
    UPDATE テーブル名 SET 列名 = 値;
  4. データ削除(Delete):データベースのデータ削除。テーブル内全ての行(全データ)を削除する。WHEREを使うと、条件を指定し特定の行を消すことができる。
    DELETE FROM テーブル名;

SQLの並び替え(ORDER BY句

カンマ区切りで複数条件がある場合の優先ルール。

ORDER BY 第1条件, 第2条件;

  • 第1条件で並び替え、同じ値があれば第2条件で並び替える。
  • DESC:降順(大きい順/金額の高い順/新しい日時順など)
  • 指定なしまたはASC:昇順(小さい順/アルファベット順 A~Z/古い日時順など)

fopen("ファイル名", "ファイルモード")

指定したファイルを開いて、読み書きの準備をする関数。
ファイルモード:用途に合わせてモードを指定する。

  • r:読み込み専用。ファイルがないとエラー(false)を吐く。
  • w:書き込み専用。中身を空にして上書きする。ファイルがないと新規作成。
  • a:追記用。末尾に追加していく。w同様、ファイルがないと新規作成。
  • r+:読み書き専用。ファイルがないと(false)を吐く。

ファイル末尾判定:feof

End of Fileの略。ファイルの最後まで読み切ればtrueになる。ループ処理の終了条件でよく使われる。


クッキー(cookie)

クッキーの値には配列を使うことはできない。
→ブラウザに保存できるデータは文字列のみ。setcookie()に配列を入れてしまうとWarningになる。

燐華

配列をクッキーに保存したい場合は?

serialize()やjson_encode()を使い、ただの文字列に変換してからsetcookieに入れる。


setcookie(クッキー名, クッキーの値, 有効期限)

  • クッキー名:文字列
  • クッキーの値:文字列のみ
  • 有効期限:省略するとブラウザ終了時に消える(セッションクッキーという)

セッションの仕組み

デフォルトではPHPSESSIDという名前のクッキーを使って、サーバとブラウザ間で「セッションID」をやり取りし管理する。

  • session_start():PHPでセッションを開始(または再開)する関数。
    ブラウザからのリクエストにセッションID(クッキー)が含まれているか調べ、なければ新しく発行する。
  • セッションID:ユーザ(ブラウザ)を識別するための固有の鍵。デフォルト:PHPSESSID
  • session.gc_maxlifetime:php.iniで使用する項目。
    セッションデータが「ゴミ(不要なもの)」とみなし消去されるまでの有効期限を設定する。単位は《秒》。
    デフォルト:1440秒(24分)

cURL関数

PHPで外部のウェブサイトにアクセスし、情報を取得・送信する際に使われる仕組み。

cURL処理のステップ

  1. curl_init():準備(初期化)
    cURLのセッションを開始し、リクエストを送るための窓口(リソース/$ch)を作り、引数に取得したいURLを指定する。
  2. curl_setopt():設定変更
    窓口($ch)に対して、どんな風にデータを取ってくるか(タイムアウト時間やヘッダー情報など)を細かく設定する。
  3. curl_exec():実行
    execute = 実行する。実際に相手のサーバにアクセスしてデータを取得
  4. curl_close():終了
    使い終わったcURLセッションを閉じ、メモリを開放する

JSON処理関数

  • json_encode():PHPの配列やオブジェクトをJSON形式の文字列に変換する。PHP→JSON(文字列化・データ化)
  • json_decode():JSON形式の文字列をPHPの配列やオブジェクトに変換する。JSON→PHP(解読)

file_get_contents()

指定したファイルの中身をすべて文字z列として組み込む関数。ローカルファイルだけでなく、URLを指定して外部サイトのデータ(HTMLやJSONなど)を取得もできる。


error_reporting()

php.ini等のファイルで、どのレベルのエラーを出力するか指定する。

エラーでプログラムが止まるもの

Parse Error(構文エラー)Fatal Error(致命的エラー)は停止する。Warning(警告)とNotice(注意)は実行する。

  • X