• 締切済み

phpMyAdminで変な現象

各ソフトのバージョンを上げたらphpMyAdminで新規でテーブルを作成したり、項目を修正する時、フィールドの頭4文字が切れてしまう現象が発生してしまいました。 実行されたSQLクエリーでは↓な感じになります。 ALTER TABLE `data_a` ADD `efg` HAR( 8 ) NULL 実際には「abcdefg」ってvarchar(8)で追加しようとしてる。 phpMyAdminのSQL文を書く所から実行すると正常に処理出来ます。 今まで作ったプログラムも問題なく動いています。(今のところ) 考えられる原因を教えてください。 環境はWindowsXP、Apache2.0.50、PHP4.3.8、MySQL3.23.53です。

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

回答No.1

Apache2が原因かもしれないです。 私もApache2にしてから挙動がおかしくなったことがありますよ。

参考URL:
http://www.php.net/install.apache2
R34_666
質問者

お礼

回答ありがとうございます。 PHPのバージョンを上げたらApache1.3が使えなくなったんで2にしました。 通常の動作自体は問題ないのですが・・・

関連するQ&A

  • phpmyadminでのテーブル作成

    phpmyadminでテーブルを作成しようとするとエラーが発生します。 <実行されたSQLクエリ> CREATE TABLE `個人情報` ( `氏名` VARCHAR( 30 ) NOT NULL , PRIMARY KEY ( `氏名` ) ) <mysqlのメッセージ> #1 - Can't create/write to file '.\住所録\個人情報.frm' (Errcode: 2) どうやらファイルを作成できないと言われているみたいです。 いろいろ試してみましたがよくわかりません。 初歩の初歩ですいませんがご解答お願いします。

    • ベストアンサー
    • MySQL
  • SQL 照会を実行出来ない

    以下の照会を実行しようとしました。 mysql> alter table products_description add products_scientific varchar(255); すると、以下のようなエラーメッセージが出ます。 実行した SQL 照会: mysql & gt;  (& gt;はこのサイトの文字化けではなくこのように出ます。) ALTER TABLE products_description ADD products_scientific varchar( 255 ) MySQLのメッセージ --> #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql> alter table products_description add products_scientific varchar(255)' at line 1 「>」が文字化けしているようなので「エンコーディングを変換する」の3つをそれぞれ試してみましたが変化無しです。 どのようにしたら良いでしょうか?

    • ベストアンサー
    • MySQL
  • phpMyAdminのSQLで、SQL文を登録が

     phpMyAdminのSQLで SQL文を登録するため、以下のエラーメッセージの中にあるCREATE DATABASE xmas;で始まる  SQL文を実行したところ、以下のエラーメッセージがでて、登録でできずに困っています。  どうしたら登録できますか!?    宜しくお願いします。    エラー 実行した SQL: CREATE DATABASE xmas; MySQL のメッセージ: ドキュメント #1007 - Can't create database 'xmas'; database exists サーバ "127.0.0.1" 上でクエリを実行する: ドキュメント CREATE DATABASE xmas; USE xmas; CREATE TABLE xmastran ( book_id int not null auto_increment, name varchar(30) not null default '' , org varchar(50) not null default '', addr varchar(80) not null default'', tel verchar(20 default '', mail varchar(40) default '', course varchar(30) default '', nums integer default 0, PRIMARY KEP (book_id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    • ベストアンサー
    • MySQL
  • フィールド名に日付を入れたい

    いつも回答ありがとうございます。 MySQL&PHPを利用しております。 下記のように書いたのですが、フィールド追加できません。 $today = date("ymd"); $sql = "ALTER TABLE book1 ADD $today TEXT NOT NULL"; $query = mysql_query($sql, $link); $todayの所を、 $today = "d" . date("ymd"); のように文字を先頭に置くなどするとフィールドを追加できました。 日付はフィールド名として指定できないのでしょうか? CRONで毎日、日付のフィールドを追加して、データの変化を見ていきたいと考えています。 わかる方お願いします。

    • ベストアンサー
    • MySQL
  • phpMyAdminからphpMyAdminへのデータ移行

    レンタルサーバーにあるMySQLのデータをphpMyAdminからエクスポートし、ローカルホストにあるMySQLにphpMyAdminのSQLでデータをインポートしようとしています。 方法は以下の通りです。 レンタルサーバーのphpMyAdminを開き、エクスポートしたいデータベースを選択します。 エクスポートを開き、 全選択 SQL 構造: 「DROP TABLE」を追加 「IF NOT EXISTS」を追加 「AUTO_INCREMENT」値を追加 逆クオートでテーブル名やフィールド名を囲む データ: 完全な INSERT 文を作成する バイナリフィールドは 16 進数を使用する エクスポート形式:INSERT ファイルで保存する ファイル名テンプレート:__DB__ テンプレートを覚える 圧縮無し SJISエンコーディングへ変換する で、実行します。 8.43 MB (8,846,019 バイト)37602行 からなる膨大なsqlファイルが作成されます。 次にローカルホストのphpMyAdminを開き、インポートしたいデータベースを選択します。 SQLを開き、 参照より、エクスポートしたsqlファイルを読み込み 圧縮:Autodetect エンコーディングnon で、実行します。 実行の結果、 「SQLクエリー無し」 のメッセージで、SQLが終了します。 もちろん、データベースは移行されていません。 レンタルサーバーのMySQLをローカルのAccessでデータ加工し、レンタルサーバーのMySQLに戻すという作業をしたいだけなのですが(ローカルでバックアップも取っておきたい)、何か解決策はありませんでしょうか?

  • 位置を指定してフィールドを追加する

    位置を指定して、フィールドを追加する方法をがわかりません。 ALTER TABLE [既存のテーブル名] ADD [新しいフィールド名] VARCHAR(100) AFTER [既存のフィールド名]; 上記のような方法でできませんでした。 ちなみにSQLServer2000がインストールされた環境で、クエリアナライザで実行しました。 よろしくお願いいたします。

  • MySQL データベースを選択したい

    こんにちは。 SQLの初歩的な操作で躓いています。 MySQL 3.23.51-nt (WondowsXP) を使用しています。 PHPベースの掲示板を作成していまして、次の一連の作業をしたいのですが、 ALTER TABLE phpbb_categories ADD cat_main_type CHAR(1); ALTER TABLE phpbb_categories ADD cat_main MEDIUMINT(8) UNSIGNED DEFAULT '0' NOT NULL; ALTER TABLE phpbb_categories ADD cat_desc TEXT NOT NULL; ALTER TABLE phpbb_forums ADD forum_link VARCHAR(255); ALTER TABLE phpbb_forums ADD forum_link_internal TINYINT(1) NOT NULL; ALTER TABLE phpbb_forums ADD forum_link_hit_count TINYINT(1) NOT NULL; ALTER TABLE phpbb_forums ADD forum_link_hit BIGINT(20) UNSIGNED NOT NULL; ALTER TABLE phpbb_users ADD user_sub_forum TINYINT(1) DEFAULT '1' NOT NULL; ALTER TABLE phpbb_users ADD user_split_cat TINYINT(1) DEFAULT '1' NOT NULL; ALTER TABLE phpbb_users ADD user_last_topic_title TINYINT(1) DEFAULT '1' NOT NULL; ALTER TABLE phpbb_users ADD user_sub_level_links TINYINT(1) DEFAULT '2' NOT NULL; ALTER TABLE phpbb_users ADD user_display_viewonline TINYINT(1) DEFAULT '2' NOT NULL; 上記をを打ち込んでもError 1046: No Database Selected と言われます。 そこでどのようにしてデータベースを選択する事が出来るのでしょうか? よろしくお願いいたします。

  • インデックスキーを設定するとKeyがMULに。

    MySQLのインデックスキーを設定するとプライマリーキーが設定されてしまいます。 phpMyAdminを使用しています。 localhostページの一番下には、下記2つの注意が発せられています。 ■phpMyAdmin の新しいバージョンが提供されています。アップグレードの検討をお奨めします。最新バージョンは 3.5.1 で、2012-05-03 にリリースされています。 ■phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。 localhostページの右側にあるバージョン情報は、 <データベースサーバ> ソフトウェア: MySQL ソフトウェアバージョン: 5.0.96-community-nt - MySQL Community Edition (GPL) プロトコルバージョン: 10 サーバの文字セット: UTF-8 Unicode (utf8) <ウェブサーバ> Apache/2.4.1 (Win32) PHP/5.2.17 データベースクライアントのバージョン: libmysql - 5.0.51a PHP 拡張: mysqli <phpMyAdmin> バージョン情報: 3.5.0, 最終安定バージョン: 3.5.1 現段階は、下記のようなテーブル構造になっています。 下記は質問用にデータをコピーするためにMySQL monitorを使いました。 フィールドの追加やキーの追加と削除はphpMyAdminで行っています。 (1)テーブルの構造 mysql> SHOW FIELDS FROM `infotable`; +----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | text | NO | | NULL | | | kudamono | text | NO | | NULL | | | coment | text | NO | | NULL | | | tes | int(11) | NO | | NULL | | +----------+---------+------+-----+---------+-------+ (2)`tes`にインデックスキーを設定 phpMyAdminの「構造」画面でtesフィールドの「操作」欄の「その他」ドロップダウンから「インデックスを追加する」をクリック phpMyAdminの画面に ALTER TABLE `infotable` ADD INDEX ( `tes` ) と表示され`tes`にインデックスキーを設定しました。 (3)インデックスキー設定後のテーブルの構造 mysql> SHOW FIELDS FROM `infotable`; +----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | text | NO | | NULL | | | kudamono | text | NO | | NULL | | | coment | text | NO | | NULL | | | tes | int(11) | NO | MUL | NULL | | +----------+---------+------+-----+---------+-------+ ここでMULという文字が出てきて調べてみると、 プライマリーキーの重複を表す文字で、 インデックスを設定したはずなのに プライマリーキーが設定されてしまいました。 (4)text型のnameフィールドにもやってみます。 text型の場合は、tesフィールドと同じ方法ではできなかったので、 「SQL」画面で ALTER TABLE `infotable` ADD INDEX (`name`(10)) を実行しました。 mysql> SHOW FIELDS FROM `infotable`; +----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | text | NO | MUL | NULL | | | kudamono | text | NO | | NULL | | | coment | text | NO | | NULL | | | tes | int(11) | NO | MUL | NULL | | +----------+---------+------+-----+---------+-------+ text型も同じ状態になってしまいます。 なぜMULになってしまうのでしょうか。 インデックスを追加するにはどうしたらよいでしょうか。 ちなみに ALTER TABLE `infotable` DROP INDEX `tes` を実行後はtesのMULは消えます。

    • ベストアンサー
    • MySQL
  • かねやんMySQLAdmin1.43

    WinXpでmysqlを勉強中です。 かねやんMySQLAdmin1.43を使って、Sql発行を押し下のように書き込んで実行するとエラーがでます。 CREATE TABLE hotelmember ( hotel_name varchar(40) NOT NULL, com_name varchar(40) NOT NULL, charge_name varchar(40) NOT NULL, id varchar(40) NOT NULL, pass varchar(40) NOT NULL, mail varchar(40) NOT NULL, zip varchar(40) NOT NULL, add varchar(40) NOT NULL, tel varchar(40) NOT NULL, url varchar(40) NOT NULL, memo varchar(40) NOT NULL, PRIMARY KEY ( id ) ) エラー文 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'add varchar(40) NOT NULL,tel varchar(40) NOT NULL, そこで add varchar(40) NOT NULL, tel varchar(40) NOT NULL, url varchar(40) NOT NULL, memo varchar(40) NOT NULL, を削除するとうまくテーブルが作成されます。 なにが悪いんでしょうか?

    • ベストアンサー
    • MySQL
  • SQLでフィールドの順番を変更したい

    お世話になっております。 ORACLEを使用しております。 既存のテーブルに新しいフィールドをSQL文にて ALTER TABLE TEST_MST ADD TEST_CD VARCHAR2(2); と言う風に、SQL*PLUSにて追加いたしました。 これを参照しますと、 追加したフィールドがテーブルの一番最後のフィールドに 追加されているのですが、 フィールドの順番を変更したいと考えております。 SQL文にて何か方法はございませんでしょうか。 ご返答を宜しくお願い致します。

専門家に質問してみよう