TOP書籍連動> メタデータの利用
SQLiteの高度な活用術
SQLiteの高度な活用術

第5回:ユーティリティメソッドの注意点

著者:Peter Lavin   2006/4/25
前のページ  1  2
メタデータの利用

   メタデータを利用したメソッドは、実行時にフィールド名を取得することができます。これはテーブルに対応した値が配列のキーとして存在しているかどうかをチェックする場合に有効です。図2はデータベースに保存するデータをポストするためのフォームです。
データベースに保存するデータをポストするためのフォーム
図2:データベースに保存するデータをポストするためのフォーム

   図2のフォームは一般的なフォームで特に目新しいものではありませんが、それぞれのフィールドがデータベースのフィールドに対応する名前となっています。簡単にデータベースのフィールド名とのマッチングを行うことができるので、このフォームが送信された時に正しい名前と送信されているかどうかをチェックすることができます。

   リスト4のcleanData()メソッドはポスト配列のキー名がテーブルのフィールド名と合致するかをチェックし、問題があれば例外を投げます。このときmagic_quotesがオンになっていた場合はスラッシュを除くという処理も行っています。

   もしMySQLをmagic_quotesオンで使用している場合、エスケープしたデータは思いもよらないデータとなる可能性があります。しかし、MySQLとは異なりSQLiteではバックラッシュを使用して文字のエスケープを行わず、sqlite_escape_string()関数をかわりに使用します。

   オブジェクト指向のメソッドにはこの関数にあたるものはありません。フィールド名とフォームが合致していない場合など、cleanData()メソッドのようなものを使用してチェックを行う必要はありませんが、簡単にフォームからフィールドに情報を移すことができます。

前のページ  1  2


Peter Lavin
著者プロフィール
Peter Lavin
カナダ、トロントでWebデザイナ/Web開発者として働いています。現在、PHPのオブジェクト指向をテーマにした本を執筆しており、No Starch Press社より出版される予定です。


INDEX
第5回:ユーティリティメソッドの注意点
  ユーティリティメソッド
メタデータの利用