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