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

SQL サブクエリ

前回の問題をサブクエリを使って解きます。前年度の売上を出すのが一番難しいので、それを出す方法です。MySQLだとそもそも分析関数が存在しないので・・ [crayon-5f712de22f7d31416 …

no image

PHPの名前空間

PHPでも5.3以降はJavaのパッケージのように名前空間を使うことができます。 いままではライブラリやアプリケーションの開発者は、PHPに組み込まれている関数やクラス名や他の人が作ったライブラリとの …

no image

CakePHP3でのコレクションに関して

プログラミングにおいて基礎となるのは配列、ハッシュの処理とオブジェクト指向の使いこなしです。 配列、ハッシュの処理に関しては自前でメソッドを書いてもよいですが、バグの温床になりやすいので、ライブラリを …

no image

cake sql系+リレーション+ヘルパー

先月末に引き続いてcakeネタをもりっといきます。 といっても自分用の小ネタリンク集です。 Contents1 sql系の小ネタ1.1 findとread1.2 find(‘count&# …

no image

EXISTSについて

今回はEXISTSについてです。 実務では伝票と明細との検索関連の処理で結構出てきます。 なお、達人に学ぶ~では論理学について少しふれており、この領域を本気で理解する場合は論理学を勉強する必要がありま …