• 締切済み

MySQLのDB

現在MySQLのDBを使いWeb上で情報を検索できる物を作っています。外の時に県名を入れてもらいその県名に当てはまる物を抽出するというものをやりたいのですが、どうしてもDBの所で止まってしまいます。 どうかおしえていただけないでしょう?下記参照 --参照-- my $num; my $str1SQL; $str1SQL=qq{SELECT kyu16 }; $str1SQL=$str1SQL.qq{FROM kyu_table }; if($ADDR1 eq "茨城県"){ # 場所(県) $STRSQL=$str1SQL; $STRSQL=$STRSQL.qq{WHERE kyu16 LIKE "%$ADDR1%" }; } if ($DEBUG_FLG eq '1') {print "STRSQL=$STRSQL<BR>\n";} # debug $sth = $Com::db->prepare($STRSQL) or &Com::ErrorDB("<BR><FONT COLOR=\"#FF0000\" SIZE=+1><B>エラーコード:検索04<br>$ERRDBMSG</B></FONT><BR>"); $sth->execute or &Com::ErrorDB("<BR><FONT COLOR=\"#FF0000\" SIZE=+1><B>エラーコード:検索05<br>$ERRDBMSG</B></FONT><BR>"); $num = $sth->rows; if ($DEBUG_FLG eq '1') {print "num=$num<BR>\n";} # debug

みんなの回答

  • Tmen
  • ベストアンサー率0% (0/1)
回答No.3

書かれているスクリプトだけでは問題になるようなところは見受けられません。 可能性的には低いと思いますが、もしMySQLをANSIモードで起動している場合は 「"」は文字列引用符としては使用できませんので確認されてはどうでしょうか?

  • tujige
  • ベストアンサー率68% (13/19)
回答No.2

レスが少し遅れました。緊急だったらごめんなさい。 ログの書き出しですが、普通だったら http daemon の error log に書き出されているはずだと思いますが。 internal server error ならエラーの内容がブラウザにかえってこないので、確認してください。 ただし、IIS は私の範囲外なので、よくわかりません。 あとは、原因の切り分けです。 perl script を確実に動くレベルまで小さくして、Connect, prepare, execute, fetch, disconnect と一段階づつデバッグしていくしかないのでは? 明らかに文法違いは問題外ですが。 とにかく、ログをよく見てください。

  • tujige
  • ベストアンサー率68% (13/19)
回答No.1

これっておそらく perl の DBI & DBD::MySQL だと思うのですが? もしそうなら、ログを吐き出していると思うので読んでみては。 また、DBD::MySQL はきちんと動作しているのでしょうか?

aeic
質問者

補足

解答して頂き本当にありがとうございます。 ■これっておそらく perl の DBI & DBD::MySQL だと思うのですが? まさにとの通りです。 ■ログを吐き出していると思うので読んでみては ログの吐き出し方をお手数ですが、おしえていただけないでしょうか ? ■DBD::MySQL はきちんと動作しているのでしょうか? 違うプログラムで動作を確認しました。

関連するQ&A