-1

カスタムphpコードからテーブルを検索するはずの列の名前を取得するSQLコードを書いています。

これの一部は、場所、つまり国、州、郵便番号などと関係があります。PHPコードで、ユーザーがテーブルのこれらに対応するフィールドに入力するようにしています。ただし、これらはすべて可能性ですが、郵便番号のように、すべての部分が含まれていない可能性があります。

php が zip 列名に対して何も取得しない場合、コード全体がスローされます。ヌル列は問題ありませんが、列のプレースホルダーを作成する方法を見つけるのに苦労しています。ユーザーが何も入力せず、したがってnullの場合、php変数に指示できるSQLプレースホルダーはありますか?

$addressColumn = $_POST["address"];
$stateColumn = $_POST["state"];
$zipColumn = $_POST["zip"]; 
$cityColumn = $_POST["city"];
$countryColumn = $_POST["country"];
$database = $_POST["database"];

これらのいずれかが html ページに投稿されていない場合、コードが壊れます。提案?SQLが受け入れるプレースホルダー値を誰かが知っている場合は、nullの場合の値を別の値に変更できます。行をフェッチすると、その下にnullが配置されます

4

1 に答える 1

1

列名から始めるのは良い考えではないと思います。SQLは、streeやZIPのような概念ではなく、刺し傷と数字または日付のみを概念化しています。

すべてのテーブル列をプロパティとして使用してクラスを作成し、ビジネスロジックを適切な場所(PHP)に配置して、メソッド "query"(DBをクエリするもの)がステータスを検証/操作/管理できるようにすることをお勧めします。あなたのオブジェクトの。

forを描画するPHPは、DBではなくクラス(例:* get_object_vars *)からすべての情報を取得できます。

DBをクラスにマッピングすることを心配している場合は、ActiveRecordsを見ることができます。

于 2012-07-03T16:36:31.697 に答える