基本
'SQL文', "SQL文"。
'(シングルコーテーション)と"(ダブルコーテーション)のどっちでもSQL文を囲って使える。
ただ…
データベースによって使い分けが必要なこともある。
使い分けの区別としては2つ。
- MySQL
- MySQL以外
それぞれの使い分けはえっ、まだPostgreSQLでダブルクォーテーション使ってるの?を参考に。
上記の記事を表にさせてもらうとこんな風になる。
| MySQL以外(PostgreSQLなど) | MySQL | |
|---|---|---|
| '(シングルコーテーション) | 文字列 | 文字列 |
| "(ダブルコーテーション) | カラム名 | 文字列 |
| `(バッククォート) | 特に使わない | カラム名 |
一番覚えておきたいのは"(ダブルコーテーション) の使い分けだろう。
自分が現在触っているDBがどっちなのかを踏まえて、SQL文を囲み方も切り替えていきたい。
エスケープ処理
MySQL以外(PostgreSQLなど)で"(ダブルコーテーション)で囲んだSQL文を作成したいとき、カラム名指定のために"(ダブルコーテーション)を使うとSQL文を途切れさせてしまう。
そのような場合、次のように解消できる。
$sql = "UPDATE update_table SET \"更新情報\" = '更新しました!!'";
コーテーションのエスケープ処理は、
'(シングルコーテーション) に"(ダブルコーテーション)、それぞれの前に(バックスラッシュ)を置くだけ
以上を踏まえて、SQL文の作成にかかる時間を減らしていきたい。