- 締切済み
サーバー上でのみinsertできないのはなぜ?
ロリポップサーバーでMYSQLを使用しております。 オリジナルのブログのようなものを設計し、投稿画面から投稿できるようにしたのですが。 ローカルで問題なくinsertできたテーブルが、サーバー上でinsertしたところentry_idのみが増えその他は空白になります。 不思議なことに同じロリポップでも別のアカウントで取得したサーバーでは問題なくinsertでき、記事の記入ができます。 phpmyadminの設定がおかしいのでしょうか。 同じような症状の方おられれば対処法教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- edge8040
- ベストアンサー率46% (7/15)
サーバー上でinsertする際、 entry_id以外の値を全て「半角英数字」にしたら反映されませんか? もし反映される様なら、ローカル環境とサーバ環境で、 PHP・MySQLのデフォルトの文字エンコードが違うのではないでしょうか。 ・ローカル環境のPHPの文字エンコード ・ローカル環境のMySQLの文字エンコード ・サーバー上のPHPの文字エンコード ・サーバー上のMySQLの文字エンコード ここら辺を確認してみると良いかもしれません。 > ロリポップでも別のアカウントで取得したサーバー この「別のアカウント」というのは、いつ頃取得されたものですか? それぞれのアカウントの契約時期が異なる場合、PHPのバージョンが異なり、 デフォルトの文字エンコードも異なるかもしれません。 ※現在、Lolipopで新規契約するとPHPのバージョンは5ですが、 昨年以前では、バージョン4でした。 http://lolipop.jp/?mode=mainte0810 「entry_id以外の値が入らない」という考え方から思考を変えて、 「なぜentry_idだけ値が入るのか」という考え方に変えると、 上記の様な検討が行えます。
- chukenkenkou
- ベストアンサー率43% (833/1926)
>サーバー上でinsertしたところentry_idのみが増えその他は空白になります。 「その他」とは、char、varchar、textなどの文字のデータ型ということですか? MySQLのバージョン、使用している文字コードなどが提示されなければ、誰も適切なアドバイスはできません。 >オリジナルのブログのようなものを設計し、投稿画面から投稿できるようにした >phpmyadminの設定がおかしいのでしょうか。 insertは、具体的にどんな方法で行っているのでしょうか? phpMyAdminは、データの確認で使っているということでしょうか? それぞれの環境で、SQLを入力できる状態で、 show variables like '%char%' show variables like '%coll%' 二つのshowコマンドの結果を、提示してください。