• ベストアンサー

MySQLで先頭の0が省略されてしまう

こんにちは、 Mysqlで、例えば"023"という数字をデータベースへinsertした場合、 先頭の"0"が省略されてしまい、"23"となって格納されてしまいます。 データ型はint、textを試しましたが結果は同じでした。 検索してもいまいちこれといった情報が見つからず、 教えていただきたいと思っています。 簡単ではありますが、どうかよろしくお願いします。 環境:windowsOS    xampp 1.7.1 php5を使ってMysqlを操作しております。

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

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

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

intは問題外だとして、text型なら問題ないはず。 きちんとコーテーションでくくってINESERTしてますよね?

barakamon
質問者

お礼

アドバイスありがとうございました。 なんとか自力でどうにか出来ました。 データ型をint 長さを3 属性をZEROFILLにする事により解決できました ありがとうございます。

barakamon
質問者

補足

はい、ダブルクォーテーションでくくっています。 ただ、付け加え忘れましたが 023という文字は配列に入れてから、insertしております。 例えば、 $number = array("023","024"); INSERT INTO table(id, number) VALUES(".$id.",".$number[$i]."); と、こんな感じで書いております。

関連するQ&A

  • php+mysqlを勉強したいのですが・・・

    mysqlは全くわからずでこれから勉強したいと思っております。 xamppをインストールして「mysql入門」などで検索してみたところ apacheとphpとmysqlをそれぞれ個別にインストールする前提で紹介されており データベースの作成方法もコマンドから入力という形でした。 試しにコマンドに「mysqlshow」と入力すると以下のようなエラーがでます。 (apache,mysqlの稼動は確認済みです) 内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません xamppは一括で簡単に必要な環境を作ることができるということだったので インストールしたのですが解決するには個別にインストールするしか ないのでしょうか? http://localhost/phpmyadmin/からであればデータベースを作成することができました。 xamppをDドライブにインストールしたのが原因?とも思ったのですが アドバイスなど頂けますと幸いです。 また、xamppの環境にてmysqlの説明をわかりやすくしているサイトなどがあれば教えて下さい。 mysqlは経験がなく右も左もわからない状態なのでわかりづらい質問かと思いますが 宜しくお願い致します。

    • 締切済み
    • PHP
  • mysql_fetch_array()関数でのエラー

    現在、PHPでMySQLの操作をテストしています。 Vista上にXAMPPをインストールした環境とXP上にApache,PHPとMySQLを個別にインストールした環境とで検証しています。 どちらの環境でも、テーブルにデータをインサートするところまでは出来ました。 mysql_fetch_array()関数を使ってSQLの実行結果を表示させるところで、XAMPPでは結果を表示できるのですが、個別インストール環境では Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\****\incert.php on line 8 が出てしまいます。 mysql_error()でエラーを表示させたところ No database selected と表示されます。 mysql_select_db("db_name"); でDBはせんたくされていると思う(事実、XAMPPでは選択されている)のですが、何が問題なのでしょうか?

  • MySQLにつなぐことができない。

    PHPで、データベースからデータを取得しようとしたのですが、データベースもパスワードもデータも完璧なのに、以下のようなエラーが出てしまい、1週間不眠不休で調べましたが、全く解決できません。 <エラー> Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\merhen\data\index.php on line 98 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\merhen\data\index.php on line 99 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\merhen\data\index.php on line 101 <コード> $sqli="select * from $news_table where order by id desc limit 5"; //SQLで引き抜いて変数に格納する if(($dbhi = mysql_connect($host,$database_user,$database_password)) != FALSE){ mysql_select_db($dbname) or die("Connect Error!"); $resi = mysql_query($dbhi,$sqli); $counti = mysql_num_rows($resi); エラーの意味は分かるんですが、全く解決策がわからないので、精魂尽き果ててしまいそうな状態です。 納期が明日ですので、すぐに回答がいただければと思います。 XAMPP1.6.3a及びPHP5.2を使用しています。

  • MySQLのエラーの取得

    PHPでMySQLをやっています。 データベースにinsertする時に、primary keyで重複登録に 引っかかった登録の場合、 「Duplicate ~」とエラー(PHPでエラーが起ると強調された文字でエラーが 表示されると思うんですが、このエラーは普通の文字です) が出ますが、このエラーをPHP側で取得したい(変数に格納したい) のですが、やり方を教えてもらえないでしょうか?

    • ベストアンサー
    • MySQL
  • PHPの初学者とmySQL

    2週間ほど前からPHPを独学で勉強を始めました。 色々なPHP初級者勉強サイトや本を見ながら四苦八苦しているのですが データベースのmySQLなどの項目が出てくるたびに そこで勉強を止めています。 まだ十分にPHPを理解できておらず シンプルな例題の流れがやっと多少理解できるようになり始めた程度なのですが そういうレベルでも先にmySQLの勉強を始めたほうが良いのでしょうか? それともある程度のレベルまでPHPを勉強して シンプルでもある程度のPHPプログラムが自分で書けるようになって それからmySQLの勉強を始めたほうが良いのでしょうか? ちなみにデータベース自体の知識は全くありません。 あと色々なmySQLの初心者入門サイトを見ると 「コマンドプロンプト」からの操作でmySQLの勉強解説が されています。 XAMPPと一緒にインストールされたmySQLを見ると コマンドプロンプトでの操作ではなく エクセルのような画面での操作のようになっています。 mySQLの数年前と最新版のバージョンの違いだと思うのですが、 仕様ががなり違うのか 今更コマンドプロンプト操作での勉強は効率がよいのかなと 不安になってしまいます。 不安になっても勉強するしかないことは分かっていいるのですが データベースの知識のない初学者が 今からmySQLを勉強するにあたって お勧めのサイトがあればご紹介ください。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • MySQLの文字化け

    WindowsServerでPHPとMySQLで作成したプログラムを動かしています。 PHPからINSERTでMySQLに登録すると環境依存文字(「(株)・(有)など)が「?」になってしまいます。 PHPからSELECTでブラウザ上に表示させると文字化けはしていませんが、phpMyAdminで確認すると「?」になっています。 このデータベースの内容を他のサーバーに移すときに、phpMyAdminからエクスポートまたはmysqldumpすると「?」のままエクスポートして、他のサーバーでインポートしても当然「?」になってしまいます。 環境依存文字が文字化けしない、あるいは他のサーバーでも環境依存文字をそのまま移行できるようにはできないでしょうか。 よろしくお願いします。 PHPはEUC-JP、データベースはujisで作成しています。 INSERTの直前でSET NAMES UJISを実行しています。

    • ベストアンサー
    • MySQL
  • xamppの設定の問題でしょうか。mysqlが全く使えません。

    PHPを独学しています。(プログラムはもちろん、PC自体、ほぼ初心者です) xamppでapacheとmysqlをインストールしたのですが、mysqlが(データベースが?)全く使えない状態です。 自分でいじったことは、 http://www.mtde.info/0210winxampp/winxampp_050.php ↑のページを参照しながら、 rootのパスワードの設定と、「xamppのディレクトリ制御」のユーザー名とパスワードの設定です。 (http://www.mtde.info/0210winxampp/winxampp_060.phpに書かれていることも設定しました) その後コマンドプロンプトで cd C:\xampp\mysql\binと入力し、(C:\xampp\mysql\bin> となり) ここでmysqlと入力することで 左側がmysql> と表示されるようにはなっているのですが、そこから何を打っても反応してくれません。(ただ改行されて、-> と表示されるだけなのです) 例えば、create database testdb と入力し、「testdb」というデータベースを作ろうと意図しても、作られた形跡はなく、 (show databases; としてやはり無反応ですし、PCでファイル検索しても出てきません) xamppの管理ツールのデモのCDコレクションをクリックしても、 Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: NO) in C:\xampp\htdocs\xampp\cds.php on line 77 データベースを接続できません! MySQLは稼動していますか?またはパスワードを変えませんでしたか? 上のように表示されます。xamppのコントロールパネルで「起動」しているのは間違いありません。 パスワードを変えたか?と聞かれたとき、思い浮かぶのは冒頭に書いたことだけです。 ならば、再度コマンドプロンプト上でパスワードを変更してみようと set password for root @localhost=password('12345'); などと入力してみても、パスワードが変更されることもありません。(冒頭で設定したパスワードのままです) 何をどのようにすれば、mysqlを使えるようになるのでしょうか? 教えてください。お願いします。

  • MySQLでローカルにコピー

    こんばんは。 1つ教えてください。 XAMPP phpmyadminでサーバー上のMySQLの データベースを操作しています。 あるデータベースのテーブル10個を ローカルに同じ名前のデータベースを作成し データをコピーしたいのですが その手順を教えて頂けないでしょうか。 SQLServerでしか行ったことが なく すいません、よろしくお願いします。

  • MySQLのあいまい検索について

    MySQLのあいまい検索について いつもお世話になっております。 本日はMySQLのあいまい検索について質問させていただきます。 あいまい検索といっても like での検索ではなく バとヴァ・ブとヴ・全角ハイフンと半角ハイフンなどを 同じとみなして検索することはできるのでしょうか。 たとえば、データベースには「ラブ」と登録されているが 検索キーワードは「ラヴ」と入力された場合、検索結果に「ラブ」の行を表示したいです。 PHPとMySQLで開発をするのですが、MySQLではなくPHPの処理になるのでしょうか。 カテゴリ違いでしたら申し訳ありません。 よろしくご教示お願いいたします。 [環境]  MySQL:5.0.45  PHP:5.1.6

    • ベストアンサー
    • MySQL
  • データベース(MySQL)にNULLとして格納

    下記サイトを参考にサイト上からデータベース(MySQL)のテーブルにレコードを追加できるようにしました。 http://ponk.jp/php/basic/php_mysql#page_index3 レコードの追加自体はできたのですが、テキストフィールドに何も記述されていない場合にNULLとして追加したいと思っているのですが、その方法が分かりません。 コードは次のようにしました。 $number = isset($_POST["number"]) ? $_POST["number"] : 'NULL'; $st = $pdo->prepare("INSERT INTO player(number) VALUES(?)"); $st->execute(array($number)); このコードで追加をすると、NULLではなく空白が格納されてしまいます。 どこを修正すればNULLとして格納できるようになるでしょうか? ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。

    • ベストアンサー
    • PHP