2015.
04.
16
00:02:50
うん、まぁ、タイトル通りなのですけどね。
CakePHPのqueryメソッドを使う際にはbindっぽい形で値を設定できるみたいです。
使い方は簡単で、クエリの中の値に置き換えたいところを「?」にして、
あとはqueryメソッドの第2引数として、置き換えたい値を配列で渡します。
このページを見るような方だったら、実際のコードを見た方が早いですよね。
例えば、こんな感じですφ(--)
そうすると、実際にはこんなSQL文が発行されますφ(--)
ちなみに、query()メソッドの第三引数の「false」は「キャッシュすんな!」の指定です。
使い方としては、それだけです。
もちろん、Where句以外にも使えますよ。
そもそもquery()メソッドを使う機会自体あまり多くないので今までお世話になりませんでしたが、
必要なエスケープ処理を勝手にやってくれるっぽいのがありがたいです。
本当はCakePHPさんが用意している関数(find()とかsave())とかで何とかした方が良いのでしょうけどね。
SQL文を直接書く方が楽な方は覚えておくと便利だと思います。
そんな感じ\(--)/
CakePHPのqueryメソッドを使う際にはbindっぽい形で値を設定できるみたいです。
使い方は簡単で、クエリの中の値に置き換えたいところを「?」にして、
あとはqueryメソッドの第2引数として、置き換えたい値を配列で渡します。
このページを見るような方だったら、実際のコードを見た方が早いですよね。
例えば、こんな感じですφ(--)
<?php
//SQL文
$query = "";
$query = $query . "SELECT ";
$query = $query . " tbl1.column1 ";
$query = $query . " ,tbl1.column2 ";
$query = $query . "FROM ";
$query = $query . " T_TBL1 tbl1 ";
$query = $query . "WHERE ";
$query = $query . " key1 = ? ";
$query = $query . "AND ";
$query = $query . " key2 = ? ";
//bindする値
$param = array('param1', 'param2');
$this->Model->query($query, $param, false);
//SQL文
$query = "";
$query = $query . "SELECT ";
$query = $query . " tbl1.column1 ";
$query = $query . " ,tbl1.column2 ";
$query = $query . "FROM ";
$query = $query . " T_TBL1 tbl1 ";
$query = $query . "WHERE ";
$query = $query . " key1 = ? ";
$query = $query . "AND ";
$query = $query . " key2 = ? ";
//bindする値
$param = array('param1', 'param2');
$this->Model->query($query, $param, false);
そうすると、実際にはこんなSQL文が発行されますφ(--)
SELECT
tbl1.column1
,tbl1.column2
FROM
T_TBL1 tbl1
WHERE
key1 = 'param1'
AND
key2 = 'param2'
tbl1.column1
,tbl1.column2
FROM
T_TBL1 tbl1
WHERE
key1 = 'param1'
AND
key2 = 'param2'
ちなみに、query()メソッドの第三引数の「false」は「キャッシュすんな!」の指定です。
使い方としては、それだけです。
もちろん、Where句以外にも使えますよ。
そもそもquery()メソッドを使う機会自体あまり多くないので今までお世話になりませんでしたが、
必要なエスケープ処理を勝手にやってくれるっぽいのがありがたいです。
本当はCakePHPさんが用意している関数(find()とかsave())とかで何とかした方が良いのでしょうけどね。
SQL文を直接書く方が楽な方は覚えておくと便利だと思います。
そんな感じ\(--)/
category:CakePHP1.3系 thema:システム開発 - genre:コンピュータ Posted by ササキマコト