ヒアドキュメントを用いて、変数の中にSQL文を格納する際、
変数は{}で囲めば変換されるのですが、SQL内での計算(掛算、割算等)がある場合、
変数は変換されるがそのまま出力されてしまいます。
こちら、エスケープ等のやり方が御座いましたらご教授頂けますと幸いでございます。
宜しくお願いいたします。
PHP
1$query = <<<_EOD_ 2 SELECT 3 * 4 FROM 5 `table_name` 6 WHERE 7 type = {$type} 8 ORDER BY 9 id 10 LIMIT 11 {$no} * ({$no} - 1) 12_EOD_; 13 14// 結果(LIMIT以降でsyntax errorになる) 15// SELECT * FROM `table_name` WHERE type = 100 ORDER BY id LIMIT 5 * (5 - 1) 16
PHP
1$query = "SELECT * FROM table_name "; 2$query .= "WHERE type = {$type} "; 3$query .= "ORDER BY id "; 4$query .= "LIMIT {$no} * ({$no} - 1) "; 5 6// 結果(理想の形。計算後のクエリになる) 7// SELECT * FROM `table_name` WHERE type = 100 ORDER BY id LIMIT 20 8
MySQL
FuelPHP - 5.5.22
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/28 06:49
退会済みユーザー
2017/04/28 07:40
2017/04/28 07:46
退会済みユーザー
2017/04/28 08:26