my $sth = $db->prepare("SELECT DATE_FORMAT(time, '%H:%i:%s') = '05:34:00' from table");
while (my @rec = $sth->fetchrow_array) {
#何か処理する
}
しかし、
while (my @rec = $sth->fetchrow_array) {
でエラー(DBD::mysql::st fetchrow_array failed: fetch() without execute() )が起こります。
%H:%i:%sの部分が原因ではないかと思っていますが、%H:%i:%sを\%H:\%i:\%sとしたりと試してみたのですが、うまく行きませんでした。
どのようにすればよいでしょうか?
エラー文の通りです「DBD::mysql::st fetchrow_array failed: fetch() without execute() 」→ fetchrow_array が失敗しました。execute()を呼ばずにfetch()を試みました
my $sth = $dbh->prepare(...);
$sth->execute( @bind_params );
while ( .... $sth->fetchrow_array ) {
....
}
のようにする必要があります。
DBIのPODを読みましょう! http://perldoc.jp/docs/modules/DBI-1.612/DBI.pod
DATE_FORMAT(time, '%H:%i:%s') = '05:34:00' は Where句です。
select * From table
where
DATE_FORMAT(time, '%H:%i:%s') = '05:34:00'
ありがとうございます。
エラー文の通りです「DBD::mysql::st fetchrow_array failed: fetch() without execute() 」→ fetchrow_array が失敗しました。execute()を呼ばずにfetch()を試みました
my $sth = $dbh->prepare(...);
$sth->execute( @bind_params );
while ( .... $sth->fetchrow_array ) {
....
}
のようにする必要があります。
DBIのPODを読みましょう! http://perldoc.jp/docs/modules/DBI-1.612/DBI.pod
出来ました。ありがとうございます。
出来ました。ありがとうございます。
2013/02/15 16:06:17