PHP/memo

Last-modified: 2010-10-26 (火) 14:16:19

MySQLにCSVからのデータを挿入する方法

 参考サイト
 http://tomo.ac/goodstream/database/mysql/linux/tips.htm#データをCSV(Excel)で入出力する方法

 mysql> set character set sjis;
 mysql> load data (local) infile "/tmp/dump.csv" into table tablename
     fields terminated by ',' enclosed by '"'
     lines terminated by '\r\n';

 ※最後の改行コードの指定がないと、エラーになってしまう 
 ※上記の文を実行したとき、データベースのキャラクターセットが
  eucとかになっていると、エラーになってしまう
  データベースとファイルの文字コードが同じでなければエラーになる。
  (文字化け場合もあるようだが、バージョンによる違いと思われる)

  対処法)

  alter database データベース名 character set cp932;

  として、変更すれば、普通に代入できる。

  一応、テーブルの文字セットが同じこともチェック
  チェックは、

  show create database データベース名\G
  show create table テーブル名\G

  でチェックできる。

PEAR / PECL

PECLのインストールに失敗する

フォルダにアクセスできないようなメッセージが表示されていたら、
Windows7のUAC( User Access Control ) が原因な可能性がある。
Windows Vista以降では、管理ユーザでも制限がかかっていて、
Program fileなど、重要なフォルダを確認なしで変更することができなくなっている。
対処法

PEAR(ペア)・PECL(ペックル)ってどうよ?

最低限のものを使うとよい。あまり使わなくてもOK.
ただし、PEARにはSMTPメールなど、標準のPHPにはない機能があるものもある。
(ローカルにメールを出させるような関数はあるのだが)
SMTPは自作してもいいが、ヘッダ部分などの処理が大変(平文ならまだいいが)
そういう面倒なものを補う分にはいいだろう。
また、PECLならば、ハッシュや暗号化など、標準にない機能を使う分にはいい。

PEARを使えないサーバーで使う

サーバでPEARが使えるかどうかは環境次第になるが、
.htaccessやini_set関数を使うなどで使えるようにする方法もあるようだ
(ただし、非推奨)
http://www.s-memo.net/blog/2005/12/pear_1.php
http://d.hatena.ne.jp/bro256/20100503/1272903226

smartyってどうよ?

あまり使わなくてもOK
理由は、
1.一昔前、PHP5との相性がよくなくて、ワーニングが出まくるという印象がある
2.コンパイル&コンパイル後の動作が重い
3.PHPのコンパイル済みのキャッシュとの相性が悪いのではないか?
というものがある。

補助ツール

PHPエディタ

フリーソフトで「PHPエディタ」というのが出ていて、
着色、F1での関数ヘルプ、ポップアップヒント、ソースの一括管理など
なかなか便利(ヘルプが日本語に訳されているのもありがたい)
http://phpspot.net/php/phpeditor2.html

PHPドキュメンター

Doxygen的なものがある。
オープンソースにするときなど、こいつでドキュメント化すると喜ばれるだろう。
どれが良いかについては、要調査。(開発が終了したものもある)
ここにまとめてみた

CHM文字化け対策

公式のPHPのCHMドキュメントは、フォントが崩壊している。
他の方は、再度、自分でデコンパイル⇒コンパイルして、直して使っているようだ。
http://blog.plastik.jp/archives/15
http://blog.hearty-service.biz/category/3814349-3.html