pg_queryでinsert処理が出来ない
環境はxp、apache2、php5、Postgresql8.2です。
1台のPCをサーバ&クライアントにしています。
ただ今PHPとPostgresqlの勉強をしています。
phpiniの文字コードの設定
PHPプログラムをShift_JISで保存し、ブラウザへEUC-JPで出力する
csvデータを「Book1」読み込んで、
bbというテーブルに格納するために
以下のようにしましたが
エラーになってしまいます。
ご教示して頂けたら幸いです。
---------------------------
if($_POST['action'] && $_POST['sign'] == 'up')
{
//ファイルを開く
$fd = fopen ("c:\Book1.csv", "r");
//データを読み込む
while (!feof ($fd)) {
//「,」区切りでデータを分割
$line = split(",",fgets($fd, 50));
//クエリの実行
$sql = "insert into bb (syain,name,buka) values ('\{$line[0]}\','\{$line[1]}\',{$line[2]})";
pg_query($d_base,$sql);
}
}
---------------------------
「Book1」の内容
001,山田,100
002,佐藤,200
003,斉藤,300
・
・
・
---------------------------
エラー内容
Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid byte sequence for encoding "EUC_JP": 000002 HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". in C:\aa.php on line 48
山田
お礼
PHPです。 pg_result_seek関数関数でうまくいきました。 関数が分からなかったらまずマニュアルを読むことが大事なんですね。