質問 > 管理機能 > 配信予約実行時のエラー |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
horizon999 |
投稿日時: 2011/1/18 13:13
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2011/1/16 居住地: 投稿: 12 |
配信予約実行時のエラー いつも参考にさせていただいております。
メルマガの配信予約で、cronが実行された際に FATAL Error(256) /usr/home/******/www/htdocs/data/class/SC_DbConn.php:244 SELECT * FROM dtb_send_history WHERE del_flg = 0 AND end_date IS NULLstart_date BETWEEN date_add(now(),INTERVAL -5 minute) AND date_add(now(),INTERVAL 5 minute) ORDER BY send_id というエラーがでます。 サーバー側に問い合わせたところ、 NULLstart_date BETWEEN date_add(now(),INTERVAL -5 minute) あたりの記述を修正しなさいとの回答をいただきました。 メルマガ配信に関しては、ユーザー検索の絞り込みを自分で修正しておりますが、絞り込みに関しては本サイトでアドバイスをいただき動作していると思います。 いろんな壁を乗り越えながら一歩ずつ前進している状態です。 なにとぞアドバイスいただけますようお願いいたします。 追記:エラーメール全文です。 通常の配信(即時配信?)は問題なく行えております。 FATAL Error(256) /usr/home/******/www/htdocs/data/class/SC_DbConn.php:244 SELECT * FROM dtb_send_history WHERE del_flg = 0 AND end_date IS NULLstart_date BETWEEN date_add(now(),INTERVAL -5 minute) AND date_add(now(),INTERVAL 5 minute) ORDER BY send_id DB Error: syntax error SELECT * FROM dtb_send_history WHERE del_flg = 0 AND end_date IS NULLstart_date BETWEEN date_add(now(),INTERVAL -5 minute) AND date_add(now(),INTERVAL 5 minute) ORDER BY send_id [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULLstart_date BETWEEN date_add(now(),INTERVAL -5 minute) AND date_add(now(),INT' at line 1] /usr/home/******/www/htdocs/data/module/DB.php 970:PEAR_Error->PEAR_Error /usr/home/******/www/htdocs/data/module/PEAR.php 557:DB_Error->DB_Error /usr/home/******/www/htdocs/data/module/DB/common.php 1912:PEAR->raiseError /usr/home/******/www/htdocs/data/module/DB/mysql.php 898:DB_common->raiseError /usr/home/******/www/htdocs/data/module/DB/mysql.php 327:DB_mysql->mysqlRaiseError /usr/home/******/www/htdocs/data/module/DB/common.php 1220:DB_mysql->simpleQuery /usr/home/******/www/htdocs/data/module/DB/common.php 1667:DB_common->query /usr/home/******/www/htdocs/data/class/SC_DbConn.php 181:DB_common->getAll /usr/home/******/www/htdocs/data/class/SC_Query.php 93:SC_DbConn->getAll /usr/home/******/www/htdocs/data/class/pages/admin/mail/LC_Page_Admin_Mail_Sendmail.php 93:SC_Query->select /usr/home/******/www/htdocs/data/class_extends/page_extends/admin/mail/LC_Page_Admin_Mail_Sendmail_Ex.php 56:LC_Page_Admin_Mail_Sendmail->process /usr/home/******/www/htdocs/admin/mail/sendmail.php 34:LC_Page_Admin_Mail_Sendmail_Ex->process ---------------------- EC-CUBE:2.4.2-comu DBサーバ:MySQL 5.1.50 PHP:5.2.14 使用サーバー:OCNメール&ウェブ2ライト |
ゲスト |
投稿日時: 2011/1/18 15:52
対応状況: −−−
|
Re: 配信予約実行時のエラー NULLstart_date BETWEEN date_add(now(),INTERVAL -5 minute)
構文的には、空白が必要ではないですか? NULL(sp)start_date #小生、メイルマガ予約配信を使ったことはないです。 #この機会に、ちょっと、試してみよう。。。 |
|
horizon999 |
投稿日時: 2011/1/18 19:33
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2011/1/16 居住地: 投稿: 12 |
Re: 配信予約実行時のエラー Ringoさん
ありがとうございます。 どのファイルを修正していいのか分かりませんが、もうちょっと自分でもがいてみます。 |
ゲスト |
投稿日時: 2011/1/18 20:28
対応状況: −−−
|
Re: 配信予約実行時のエラー data/class/pages/admin/mail/LC_Page_Admin_Mail_Sendmail.php
の中の 引用: /** の 引用: // リアルタイム配信モードがオンのとき の部分が、NGの様な気がします。 $where .= ' AND end_date IS NULL'; に $where .= "start_date BETWEEN... を繋げてるから。。。 ここを $where .= " start_date BETWEEN... と、start_dateの前に半角空白を1文字入れれば良いと思います。 #試している途中で、取りあえず、見つけました。 #まだ、小生の元では動作確認出来てません。。。 |
|
horizon999 |
投稿日時: 2011/1/19 0:54
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2011/1/16 居住地: 投稿: 12 |
Re: 配信予約実行時のエラー Ringoさま
アドバイスありがとうございます。 ご指摘通りdata/class/pages/admin/mail/LC_Page_Admin_Mail_Sendmail.phpを修正してみたのですが、同じエラー文が帰ってきます。(スペースが空いた文) 明日もう一度冷静になったところで関連すると思われる個所を見直してみます。 本当にありがとうございます。 |
ゲスト |
投稿日時: 2011/1/19 11:08
対応状況: −−−
|
Re: 配信予約実行時のエラー $where .= " start_date BETWEEN...
は $where .= " AND start_date BETWEEN... としないとだめですね、、、 小生はPostgreSQLですが、これで、エラーは出なくなりました。 残るは、実際に配信されるかどうか。。。 |
|
horizon999 |
投稿日時: 2011/1/19 12:35
対応状況: 解決済
|
半人前 ![]() ![]() 登録日: 2011/1/16 居住地: 投稿: 12 |
Re: 配信予約実行時のエラー Ringoさん
ありがとうございます!!!! エラーも消えて、配信も時間通りできました。 data/class/pages/admin/mail/LC_Admin_Mail_Sendmail.phpの87行目付近を修正しました。 $where .= "start_date BETWEEN date_add(now(),INTERVAL -5 minute) AND date_add(now(),INTERVAL ↓ $where .= " AND start_date BETWEEN date_add(now(),INTERVAL -5 minute) AND date_add(now(),INTERVAL cronのエラー文が送られて来ないとちょっと寂しい気もしますが、今日から安心して眠れます。 もっと修業を積んで、自分で解決できるように頑張ります。 本当にありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |