skillup

技術ブログ

Database PHP

cakePHPでの直SQL

投稿日:2016年6月13日 更新日:

今回はCakePHPにて直のSQLを書く方法を。

cakePHPにて大概の処理はもともと備わっているコマンドでなんとかなりますが、まれに直SQLを書いたほうがらくなこともあります。

書き方その1

queryというメソッドにSQLを投げ込めばOKです。ほんとにそのまんま・・・この場合はテーブル名もcakeを使うときのモデル名ではなく純粋なテーブルを使ってOKです。

ただ、この方法だとエスケープをしてくれないのでやや危険です。自分でいちいちやるのは面倒でしょう。

そこで次の書き方がおすすめです。

書き方その2

プリペアードステイトメントですね。この方法であればSQLインジェクション対策が施されているのでお勧めです。

直にSQLを書きたい方は参考までに・・・

【CakePHP】SQLが頭に浮かぶなら迷わずqueryメソッドを使おう

-Database, PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

メールパーサー(mailparseとphp-mime-mail-parser)に関して

以前、POP3を使ったメール受信というエントリーでメールパーサーをインストールしたんですが、他のライブラリをインストールする機会があったんでメモ。 https://github.com/php-mim …

no image

JPAでのリレーション(アノテーション使用)

JPAでリレーションを管理するとき、最初はアノテーションでやろうとしたんですが、結局やり方がわからずコンストラクタ式をかいて対処してました。 JPAでのリレーションに関して 外部キー制約があるやり方は …

no image

SQLで数列を扱う

今回はSQLで数列を扱ってみましょう。 例えば下記のような0から9までの数字が書かれている数列があったとして、 これにより連番を作成してみましょう。 digit ——- 0 1 …

no image

テーブル設計に関するメリデメ

昨日も書いた記事なんですが、基本的に実装にしても設計にしてもこれが最強っていう手法はなくて(あったとしたら全員がそれを使うのでそもそも選択肢という概念がなくなる・・)メリットデメリットをしっかりと考慮 …

no image

外部結合 応用編

本日は「達人に学ぶSQL徹底指南書」の外部結合の応用編です。 下記のような3つのテーブルがあるとします。例によってここを使わしてもらってます。 tblsex sex_cd | sex —& …

アーカイブ