とりあえずSQLくらい楽にできるようにしよう1. | |
・ | SQLを動的に作成するのって結構手間だからある程度手助けしてもらえるようにしてみよう. |
大まかな考え方の順序 | |
・ | SQLで代表的な構文は以下の4つ. |
|
|
ということで,それらを簡易作成できるようにしていきます. 処理の手順としては, |
|
|
|
という2つの手順をとります. まずSELECT構文からパラメータの指定部分を作ってみます. で,SELECTの構文は・・ SELECT フィールド名 FROM テーブル名 WHERE 条件 ORDER BY フィールド名 ※Group By句はパスしました. それぞれの引数の書式は
・ ・ ・ 出来上がったソースです. きちんとした説明は・・やっぱり挫折です^^; この関数で何が楽になるのか?と聞かれると困りますが・・. Where句とかで今までパラメータあったっけか?という心配をしなくていいのと自分で句同士をつなぎ合わせなくてよくなることでしょうか・・. スクリプト動かしてみたら動いたみたい.よかったよかった. |
利用した関数 | |
・ | なし |
作成した変数 | ||
・ | $query_str | 作成したクエリ保存用 |
・ | $query_select | SELECT句保存用 |
・ | $query_from | FROM句保存用 |
・ | $query_where | WHERE句保存用 |
・ | $query_oderby | ORDERBY句保存用 |
・ | $query_table | INSERT構文などでTABLE名保存に利用します |
・ | $query_field | INSERT構文でフィールド名を保存するために利用します |
・ | $query_value | NSERT構文などで入力値を保存するために利用します |
作成した関数 | ||
・ | clear_querys() | 変数を初期化するための関数. 変数の初期化は複数の関数で行うため関数としてまとめます. 前回作成したコンストラクタにも追加します. |
・ | make( $_mode = "select") | SQLを作成するための関数. add関数で追加されたものをつなぎ合わせてSQLを完成させます.通常は直接使わずにexec関数から呼び出します. |
・ | exec( $_mode = "select") | クエリ実行関数です. $_modeに与えられた構文のSQLをmake関数を使って作成し,そのSQLを実行します. SQL実行には基礎クラスで作成したexecute関数を利用します.紛らわしいかもしれませんがmake関数などをかませる簡易版ということでexec関数と名前付けました. |
・ | _add(&$_pstr,$_note,$_mode) | add関数の補助的な関数です. 同じ処理が続いたのでソースをすっきりさせるために別関数にしました. |
・ | add( $_note = "",$_type = "select" , $_mode = "and") | SQL文字列追加用関数です. 第一引数はSQLパラメータ. 第二引数は追加する句. 第三引数はパラメータの区切り文字. 第三引数に指定できるのは"and | or | , | new"の4種類.”new”をしていた場合それまでに代入したパラメータを破棄するようになっています. |