PHPのMySQL(MariaDB)の書き方

基本

不明な点があればここでチェックしましょう!
PHPでデータベースに接続するときのまとめ – Qiita

セキュリティ

セキュリティの基本として 初心者がやりがちなミスは必読です。少しでも不明な点があれば読み返しましょう。
読み込み処理の場合、pdoとbindvalueを使用して入れば、formから送信されたデータをhtmlspecialcharsを使ってエスケープしないでも、エスケープ処理してくれます。
出力する場合は、必ずhtmlspecialcharsを使ってエスケープしましょう。

基本的な形

トランザクション処理

リレーションデータベースなどで、複数のテーブルにデータを挿入する際に処理の途中でエラーが発生した場合に処理を中断して元に戻すときなどに使います。

fetch関連

fetch()

結果セットから1行取得します。
オプション:
fetch(PDO::FETCH_ASSOC)は、ある行のすべてのフィールド(カラム)名とすべてのレコードを取る
fetch(PDO::FETCH_BOTH)は、ある行のすべてのフィールド名+すべてのフィールド番号(0,1,2・・・)とすべてのレコードを取る。※デフォルト
※fetch_bothは、カラム名を配列と見なして番号がつく。迷ったらbothでいいかも。

fetchAll()

全ての行の結果セットをとってくる
※大量のデータをとってくるから、必ずwhereやlimitを使おう。

fetchColumn()

結果セットの1行から、単一のフィールド(カラム)名を取得。
何もなければ、FETCH_BOTHでフィールド0の値を取ってくる。
fetchColumn()はfetchColumn(0)ということ。
fetchColumn(1)は、2列目からとってくる。

その他

注意・気をつけること

PHPで部分一致検索をするときには、ワイルドカードの「%」や「_」を使用するため、可能であればデータ内にアンダーバーやパーセントを挿入しないこと。
//ワイルドカード「%」は任意の0文字以上。「_」は任意の一文字。

特定の文字列を一括で置き換える