2012-02-03 3 views
0

フォーム内にPO_Numberという名前のテキストボックスがあります。フォームは、別のページにテキストボックス値を投稿して送信します。PHP/MySQLのvarcharフィールドが数値として入力されました

2番目のページで私は$ _POST ['PO_Number']を取得し、MySQLに入力します。

MySQLフィールドは、varchar(15)です。 PO_Numberの文字列が文字または数字で始まるとすぐに、すべてがOKです。

問題:時々PO(発注書)数は00または000で始まり、それは例えば00
前にコンマが格納されている:
GH93737 -
9087893作品は -
0011132作品 - 入力0011132(?カンマを参照)

、としてデータベースに挿入が通常になります。ご提案やご時間

mysql_query("INSERT INTO table_name (PO_Number, ....) VALUES ('".$_POST['PO_Number']."',......)"); 

感謝をエル・P。

+0

あなたのmysql_queryまで変わらず/手つかず$ _POSTですか?あるいは、これまでに何らかの種類の墨塗り機能を実行していますか? – djot

+0

機能はありません。それは単なるPHP 4です... –

+0

完全なmysql_query()コードを記述できますか? –

答えて

1

これはブラウザ/サーバーの文字エンコーディングと関係があり、それらの先行ゼロと1のすべてが2進数として解釈される可能性があるため、これらの特定の数値を解釈する方法は不思議です。

ここではその点について、いくつかの簡単な情報です:

は、文字エンコーディングは、実際の文字に、生の0と1を解釈する方法をコンピュータに指示します。これは、通常、数字と文字をペアにすることで行います。

http://htmlpurifier.org/docs/enduser-utf8.html

+0

することができます。このアプリはWindows 2008 ServerのXAMPPにインストールされています。 –

+0

Linuxサーバで同じアプリケーションを試してみましたが、PO_Numberはvarchar(15)フィールドで0003434として修正されました。 –

+1

私はmysqlの本当のエスケープ文字列を入れて動作しています!ハレイ!みんなに感謝します。 –

関連する問題