2

編集2: 信じられないほど長い説明をより詳細に書き上げた後、もちろん、私は自分の問題を発見しましたが、それは私が尋ねた質問とは何の関係もありませんでした. これは、自分のカスタム オブジェクトを作成し、アップロードされた画像の名前をその「LogoName」プロパティに割り当てていたために発生しました。その後、コードで後で新しいバージョンを作成し、そのプロパティを新しいオブジェクトに割り当てずに保存しようとしました。新しいオブジェクト (LogoName が設定されていない) をデータベースに追加します。

時間を無駄にして申し訳ありません。回答ありがとうございます。それらはすべて賛成票を投じられました。 編集終了 2

PHPサイトにフォームがあります。フォームには、通常の都市、州、郵便番号の入力オプションがあります。都市は次のようになります。

<label for="city">City</label><input type="text" name="city" value="<?php echo $business->city; ?>" id="city">

Zip は次のようになります。

<label for="zip">Zip</label><input type="text" name="zip" value="<?php echo $business->zip; ?>" id="zip">

$_POST をチェックすると、値は次のようになります: (FirePHP を使用)

['city'] => 'St. Louis'
['zip'] => 12345

当然、これらの値をオブジェクトに入れ、そのオブジェクトをデータベース (Zip を varchar として持つ) に保存しようとすると、Zip が整数として認識されるため、エラーが発生します。

$_POST の Zip 値を文字列として強制するようにフォームに指示するにはどうすればよいですか?

編集: 私はこれについて考えさえしませんでしたが、おそらく関連しています。フォームは画像のアップロードも許可するように設定されているため、フォームには enctype="multipart/form-data" が設定されています。それがこの問題を引き起こしている可能性はありますか?

それ以外は、送信時にフォームが読み込まれるとすぐに FirePHP を使用して $_POST 情報をログに記録しているため、何を考えればよいかわかりません。この問題の原因となるものは何も考えられません。

4

3 に答える 3

4

このような文字列にキャストできます

$zip = (string) $_POST['zip'];
于 2009-11-16T01:59:09.037 に答える
1

strval($var);
または$val."";:) _

于 2009-11-16T01:59:31.283 に答える