未だpostgresにアクセス出来ません。教えて下さい。
こんにちわ。windowsXP,postgres8.2,perl5を使用して居ります。
postgresにperlからアクセスし、既存のテーブルの行に値を入れたいのですが、
valuesに数字以外の文字を指定するとpostgresに文字列が認識されません。教えて頂きたいことは、
仮に数字を6行目の$に入れると認識されるのですが、文字だと出来ないのは、どうしてでしょうか。$id='○○'と
文字を入れてみるとpostgresには1の結果だけが入ってきました。どのようにしたら良いかと、
思いprint'○○',$idとしてみました。すると下記のプロンプトでのエラーがでました。
構文が間違えていると思うので、良い方法があったら教えて下さい。宜しくお願いします。
#!c:/perl/bin/perl
use DBD::Pg;
use DBI;
require'jcode.pl';
$dbh=DBI->connect("dbi:Pg:host=localhost;dbname=kensaku",'windws','aaaa')||die $dbh->errstr;
print'9',$id;print'山田',$word1;print'd',$word2;print'w',$word3;print'c',$head;print'a',$img;
@bindvalues=($id,$word1,$word2,$word3,$head,$img);
&jcode::convert(*bindvalues,'euc');
my$b=(<<"EOL");
insert into kensaku(id,word1,word2,word3,head,img)
values($id,$word1,$word2,$word3,$head,$img)
EOL
;
$sth=$dbh->prepare($b)||die $dbh->errstr;
$sth->execute()||die $sth->errstr;
$dbh->disconnect;
$sth=$dbh->prepare($b)||die $dbh->errstr;
$sth->execute()||die $sth->errstr;
$dbh->disconnect;
コマンドプロンプトのエラー
DBD::Pg::st execute failed: ERROR: syntax error at or near "," at character 103
at test.pl line 19.
ERROR: syntax error at or near "," at character 103 at test.pl line 19.
お礼
J_ANBIさん。 ご回答ありがとうございます。 PHP・PostgreSQLのエラー時には、 ORACLE等と違い、エラーコードは返ってこないのですね。 PostgreSQLはエラーメッセージが返って来ることを知りました。 勉強になりました。 ありがとうございます。 ・・・お返事遅くなりすみませんでした。