• ベストアンサー

頭に0が付く文字

MySQLに携帯番号を登録すると頭の0が消えてしまいます。 消えない方法や設定があれば教えてください。 例)登録情報 090-111-1111→MySQL内データ 90-111-1111 すいませんが教えてください。

  • MySQL
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>insert into phonenumber(phonenumber)values("0901111111") PHPなどプログラムで処理しているならおそらく クォーテーションのつけわすれでしょうね insert into phonenumber(phonenumber)values(0901111111) とすると、数値として一度評価されるので。

elkheart
質問者

お礼

ありがとうございます。 問題なく登録することができました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

カラムの型はvarcharなどの文字列型になっていますよね? もしそうであれば、表示させるプログラム側の問題じゃないですか?

elkheart
質問者

補足

カラム型はTEXTにしてあります。 ちなみにphpの命令構文は 「insert into phonenumber(phonenumber)values("0901111111")」 です。 SQLアドミンでSQLのテーブルを確認すると「901111111」になっています。 TEXT型が悪さをしているのでしょうか?

関連するQ&A

  • ユーザー設定から文字列にしても頭の0が消えない方法

    お世話になります。 エクセル2000で部品の番号を数字6桁で管理しているのですが、頭に0がつく部番もあります。 そこでユーザー設定で000000として (例)000123 と表示させていました。 データ量が多くなって来たので、部品の情報をVLOOKUP関数などで参照出来るようにしたところ、#N/Aになってしまいました。 検索値(部番)を数値や文字列に直すと、 (例)123 になり0が消えてしまいます。 文字列にした後に000123と入力し直すと良いのですが、 データ量が多いので手間がかかりすぎてしまいます。 尚、   000012   001234   012345 と、頭に着く0の数はバラバラなので"0"&A1の方法では一括では直せません。 (部品表の表示の都合により、並べ替えはしたくはありません。) マクロは初心者です。補足あれば理解出来ますが、できれば今回は関数などで解決したいです。 何か良い方法ありますでしょうか? よろしくお願いします。

  • PHP+MYSQLで携帯サイトを作成する場合

    毎回人頼みな質問ばかりで申し訳ないです。 携帯電話からフォーム入力された情報をMYSQLに登録し、MYSQLからデータを引っ張ってきて処理し、表示するような仕組みを作りたいのですが、携帯サイトの文字コードはSJIS、MYSQLの文字コードはEUCです。 MYSQLにデータを登録する際や、MYSQLからデータを引っ張ってきた際にどのような処理を行えばよいでしょうか? また、PHP+MYSQLでの携帯サイト構築や、PHPの文字コードの扱い方などに詳しい書籍等がありましたらご教示頂けるとありがたいです。 当方無知なため、他人頼みな質問で申し訳ありませんがお返事お待ちしております。

    • ベストアンサー
    • PHP
  • MySQL5.1の文字化け

    多くの方が同様の質問をされていたのですが、一致する問題が見つけれなかったので、ご存じの方がおられたら教えて下さいm(_ _)m (環境)  PHP 5.2.8 ZendFramework 1.5.1 から Pdo Mysqlを使用  文字コード:SJIS  Mysql 5.1  文字コード:EUC-JP (質問内容) 携帯の絵文字データをSJISのバイナリでスクリプト中に埋め込むため、スクリプトの文字コードをSJISに統一したところ、文字化けが発生しました。 SET NAMES SJIS のSQLを発行することで表示は正しくできるようなったのですが、新たにレコードを追加しようとすると文字化けが発生します。 例)情報 → 情表 insertを行う前の文字コードをSJIS,SJIS-win,EUCと変えてみましたが、SJISもしくはSJIS-winの場合は上記の例のとおりとなり、EUCにすると完全な文字化けとなりました... おそらく登録時にMYSQLがSJIS→UTF8→EUCに変換される時に正しく変換されていないものと思われるのですが、どなたか対処方法をご存じないでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpでMySQL内の重複文字カウント

    phpでMySQL内に格納されている文字データのうち、重複した文字データを 重複数順にランキング表示するプログラムを作成しようと思います。 例 MySQLデータが 昼 夜 昼 昼 夜 朝 であれば、 1、昼 2、夜 3、朝 とphpで表示 MySQLへのデータ登録は、普通にmysql_queryでSQL文を飛ばしてデータ挿入しています。 その際、MySQL内のデータと重複したらイベント(重複カウントを1増やすなど)を起こす方法、 もしくは、重複しているデータと、その重複数を取得できるようなphp関数、SQL文はないものでしょうか? データ数自体は100程度のものなので、全データをphpで配列に格納してから、 配列内を捜査でもよいのですが・・・ 初歩的かつ限定的な質問ですが、どうかご回答お願いします。

    • ベストアンサー
    • PHP
  • 携帯用に画像のサイズ変更をしたい

    MySQLに登録されている画像データを携帯用にリサイズして表示したいのですが、どのような方法があるのでしょうか。

    • ベストアンサー
    • PHP
  • MySQLへ登録する際の文字コード

    以下の様な場合には、データベース上では 何の文字コードで登録されているのでしょうか? (1)WEB画面上はEUCで入力 (2)(1)で入力した情報をMySQLに登録する。  この際、MySQL環境では文字コードがujisで設定されている。

    • ベストアンサー
    • MySQL
  • excel セルの統合 頭のゼロを消さない

    宜しくお願い致します。 【過程】 現在、住所録のサンプルデータを作ろうとしています。 公表するものなので、既存の情報ではないものを用意しなくてはいけません。 そこで、電話番号のセルはRAND関数を使って作ろうとしました。 (1)3文字目まで: 090か080を選ぶ        CHOOSE(RAND()*2+1,"090","080") (2)4文字目以降: 8ケタのランダムの数字を選ぶ    INT(RAND()*100000000) (1)+(2)=CHOOSE(RAND()*2+1,"090","080")&INT(RAND()*100000000) これで携帯電話番号ランダム表示完成!! とおもったのですが、、、、 【問題】 (2)の8ケタ数字の頭が0(ゼロ)を選んでいる場合、 (1)と合算した時に、頭の0を表示してくれないので、桁数が減り、11ケタ未満になってしまうという問題が発生しました。 (例:(2)で00458623と選ばれていると、電話番号080458623 となり、2桁足りなくなります。) どなたか、この問題を解決できる方いらっしゃいましたら教えてください。宜しくお願いします。 そもそもの関数の組み立て方が違うようなら、ぜひご進言宜しくお願いします。

  • テーブルを見ると文字がぐちゃぐちゃ

    最近MySQLで勉強しだしたものです。 PHPを使って、MySQLにフォームデータを登録し、テーブルを見ると 文字がぐちゃぐちゃになっています。 質問1 これは仕様なのでしょうか? ちなみにこんな文字でした \&AElig;\&sup1;\&Egrave; ←“テスト” PHPを介してこれを表示するとちゃんと「テスト」と表示 されます。 PHPがデコード、エンコードしてるのでしょうか? それともこれがMySQLの仕様なのでしょうか? 質問2 いま特定のアドレスに受信したメールをインサートする プログラムを書き、テーブルをみたところ、このデータだけ ちゃんとした日本語で登録されていました。 Subject;テスト 本文;テスト と打ったらそのとおり登録されています。 これをフォームデータと同じようなデータ形式に変換し登録する方法 があったら教えてください。 ※1 HTMLの出力はEUC-JPのようです。 ※2 本のプログラムを改造していますが、フォームデータ登録時、下のルーチンを通っています。 受信メールを登録するときはこのルーチンを介していません。 foreach ($data as $key => $value) { $data[$key] = preg_replace("/^(\s| )+$/", "", $data[$key]); $data[$key] = strip_tags($data[$key]); $data[$key] = stripslashes($data[$key]); $data[$key] = mb_convert_kana($data[$key], "KV"); $data[$key] = htmlspecialchars($data[$key]); $data[$key] = str_replace("\r\n", "<br>", $data[$key]); $data[$key] = str_replace("\r", "<br>", $data[$key]); $data[$key] = str_replace("\n", "<br>", $data[$key]); $data[$key] = mysql_escape_string($data[$key]); }

    • ベストアンサー
    • MySQL
  • エクセルで数字の頭に0を追加する方法はありますか?

    エクセルのVLOOKUP関数を使って検索をしようと思いますが、 検索する番号が一つが6桁の番号で表示されており、もう片方が7桁の番号で表示されています。 つまり、6桁は頭に0が付いていなくて、7桁には頭に0が付いています。 【例】 6桁=123456、7桁=0987654 ですから同じ表示にしたいのですが、出来れば6桁の頭に0を付けたいのです。 【例】 6桁=123456 → 7桁=0123456 どうすれば、変換できるかよい方法がありましたら教えて下さい。よろしくお願いいたします。 なお、対象セルは3千個程あるので、とてもじゃないけど一個づつは出来ません。 また、当方素人なので出来れば判り易い方法でお願い致します。

  • エクセルで文字の頭に0を入れる方法

    仕事で使う内容なので詳しくはお話できませんが、例えば表示されたページ上に電話番号があるとします。 携帯電話なら 090… となりますよね? それが膨大にあるのでそのページに表示された枠をそのままドラッグしてコピペしようとしたのですが、表示は 90… というようになり、最初のゼロが削除されてしまいます。 こういう場合セルの書式設定を文字列などにして、例えばエクセルのA-1を選択した状態で入れればちゃんと090と表示されます。 ただダブルクリックせず、普通にA-1などをクリックして選択した状態でコピーしてしまうと90となり、文字の頭の0は認識してくれなくなります。 その数字の量も膨大にあるので、一つ一つしていたら膨大な時間がかかってしまうので、方法がわかるかた、そのベージからそのままコーピーする方法でどうすれば文章のはじめに0を表示することが出来るのか教えてくれませんか?