[未解決] 検索項目から検索するとエラーになる

フォーラム 使い方全般 [未解決] 検索項目から検索するとエラーになる

  • このトピックには11件の返信、3人の参加者があり、最後にnanbuにより13年、 1ヶ月前に更新されました。
12件の投稿を表示中 - 1 - 12件目 (全12件中)
  • 投稿者
    投稿
  • #50272
    hide
    参加者

    Welcart のバージョン:バージョン 0.8.1

    症状を確認したブラウザ:IE8 firefox3.5.9

    サーバー(会社名、サービス名):クララオンライン

    SSLの利用: 無し

    WordPress のパーリンク設定:/%post_id%

    MYSQLバージョン:5.0.77


    商品マスターから検索項目で検索しようとすると下記のエラーが発生します。カテゴリーや商品状態で検索してもメッセージは同じです。

    WordPress database error: [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 '' at line 18]
    SELECT mc.meta_value AS item_code, mn.meta_value AS item_name, meta.meta_key AS sku_key, meta.meta_value AS sku_value, te.name AS category, post.post_status, CASE post.post_status WHEN 'publish' THEN '公開済み' WHEN 'future' THEN '予約済み' WHEN 'draft' THEN '下書き' WHEN 'pending' THEN 'レビュー待ち' WHEN 'trash' THEN 'ゴミ箱' ELSE '非公開' END AS display_status, post.post_type, post.post_mime_type, post.ID FROM wp_posts AS post LEFT JOIN wp_postmeta AS mc ON post.ID = mc.post_id AND mc.meta_key = '_itemCode' LEFT JOIN wp_postmeta AS mn ON post.ID = mn.post_id AND mn.meta_key = '_itemName' LEFT JOIN wp_postmeta AS meta ON post.ID = meta.post_id AND SUBSTRING(meta.meta_key, 1, 6) = '_isku_' LEFT JOIN wp_term_relationships AS tr ON tr.object_id = post.ID LEFT JOIN wp_term_taxonomy AS tt ON tt.term_taxonomy_id = tr.term_taxonomy_id LEFT JOIN wp_terms AS te ON te.term_id = tt.term_id WHERE te.name = 'お勧め商品' AND post_status <> 'trash' AND post.post_mime_type = 'item' AND post.post_type = 'post' GROUP BY post.ID ORDER BY

    クララオンラインでの制作は初めてなのですが、そちらが原因なのでしょうか?

    https://www.welcart.com/forum/topic.php?id=411

    とも関連がありそうですが。

    #61524
    nanbu
    キーマスター

    こんにちは。

    ORDER BY の後のカラムが無くなっていますね。

    なぜその様になるかはこちらでは判らないのですが、最新版でも同じ状況でしょうか。

    #61525
    hide
    参加者

    こんにちは。

    0.9.3にバージョンアップしましたが、同様のエラーが発生しました。解決方法は無いでしょうか?

    #61526
    nanbu
    キーマスター

    有効かどうかわかりませんが、usc-e-shop/includes/usces_item_master_list.php の冒頭のglobal $wpdb; の下に次のコードを追加するとどうなるでしょうか。

    $wpdb->query( 'SET SQL_BIG_SELECTS=1' );

    #61527
    hide
    参加者

    こんにちは、指定のコードを入れてみましたが変化なしでした。

    作り始めなので、データベースから作り直してみることにします。

    #61528
    saijo
    参加者

    wordpressのバージョン3.0.3

    welcartのバージョン0.9.1

    MySQL5.1.47、PHP5.2.14

    確認ブラウザFirefox

    サーバーiCLUSTA(i-02)


    こんにちは。

    横からですが失礼します。

    私も全く同じエラーが年末くらいから頻繁に出て困っていました。

    実は今日まで同じエラーが頻繁に出ていたのですが、たまたま今日、商品名がかなり長かった(60文字前後)モノが数十点あったため、すべて20文字前後に短く統一した所、なぜかエラーがまったく出なくなりました。

    今日は特にバージョンアップや変わった作業などはしていませんので、おそらく(私の場合)それが原因だったのだと思いますが、私自身がPHP/SQLにあまり詳しくないため本当にこれが原因なのかは断言できません。

    参考程度にお願いいたします。

    あとwelcartの作者様、このトピックを見ていましたら、このあたりの検証などよろしくお願いしたいです。

    #61529
    nanbu
    キーマスター

    こんにちは。

    商品名の文字数は問題ないはずです。もしかしたらクオート(’)やカンマ(,)、特殊文字などが問題なのかも知れません。一度調べてみます。

    話が横にそれますが、他のシステムから移行される方のデータを拝見しますと、商品名が非常に長いデータをしばしば見られます。これは商品名をページタイトルとしているシステム用のSEO 対策の一環かと思いますが、Welcart には商品名とは別にページタイトルを持っていますので、SEO 用の長いタイトルはページタイトルを利用し、商品名は純粋に商品名にするのが良いかと思います。

    #61530
    nanbu
    キーマスター

    確認しましたが、やはり文字の問題ではなさそうです。

    エラーが出たクエリーを見ると、ORDER BY 以降が空白となっているようですが、このORDER BY の値はセッションから取って来ます。セッションから取るものにはこの他、100/300件 とリスト左肩に表示されている行数もセッションから取得しています。もし、この行数も見えないのであればセッションが切れてしまっている可能性があります。

    #61531
    saijo
    参加者

    nambu様

    検証ありがとうございます。

    本日作業をしていたら、また数回に一回程度の割合でこのエラーが出るようになっていました…昨日はたまたまサーバーの具合でもよかったのでしょうか(汗

    あと、お聞きしたいのですが、セッションが切れてしまう現象というのはどのような時に起きやすいのでしょうか?

    なにか良い対処法などはあるのでしょうか?

    #61532
    nanbu
    キーマスター

    セッションの保存期間がタイムアウトした時にセッション切れとなります。サーバーによりますが数十分から数時間でしょうか。php.ini で設定しますが初期値が数秒などと言うことはまず無いと思います。phpinfo() で確認する事ができます。

    あと可能性は低いですが、セッションを利用している他のプラグインが存在しているかどうかです。

    効き目があるかどうか分かりませんが、次の1行をconfig.php のデータベース名の上辺りに追加してみてください。

    define('USCES_KEY', 'mysitekey');

    mysitekey は任意の文字列です。セッションIDに適用されます。

    #61533
    saijo
    参加者

    nanbu様

    ありがとうございます。

    さっそくコードを指定の場所に入れてみましたが、特に変化はなかった模様です。(再現率が2割くらい?)

    ちなみにサーバーのセッション保存期間は24分(1460)でした。

    phpinfo()でいろいろ見てみましたが特に問題は無さそうでした。

    しばらくphp.iniなどでサーバー設定をいろいろ試してみます…。

    #61534
    nanbu
    キーマスター

    そうですかあ。

    何かほかに原因があるのかもしれません。こちらでも一度じっくり調査してみたいと思います。

12件の投稿を表示中 - 1 - 12件目 (全12件中)
  • このトピックに返信するにはログインが必要です。