We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 33463
    • 35 Posts
    初めまして。

    昨日MODx0.9.6をインストールしてみたのですが、WEBユーザーを作成しログインしようとすると以下のようなエラーが出ます。
    ≪ Execution of a query to the database failed - Incorrect integer value: ’NULL’ for column ’id’ at row 1 ≫
    SQL: REPLACE INTO `modx`.`modx_active_users` (internalKey, username, lasthit, action, id, ip) values(-4, ’testuser’, ’1182298302’, ’998’, ’NULL’, ’192.168.1.203’)

    何度もMySQL入れ直し→MODx入れ直し と行ってみましたが毎度同じエラーです。
    今までMODxは0.9.2.1、0.9.5と使用してきまして、今回は別のマシンに新規で0.9.6をインストールしました。
    どこに問題があるのでしょうか?
    もしかしてMySQLの最新ビルド使ってるのが悪いのかなぁ?^^;

    環境
    Windows Server 2003 R2 x86 SE SP1
    Apache 2.2.4
    MySQL 5.0.41
    PHP 5.2.3
      • 6158
      • 224 Posts
      Quote from: zephir at Jun 20, 2007, 12:44 AM

      Execution of a query to the database failed - Incorrect integer value: ’NULL’ for column ’id’ at row 1

      REPLACE INTO `modx`.`modx_active_users`
      (internalKey, username, lasthit, action, id, ip) values
      (-4, ’testuser’, ’1182298302’, ’998’, ’NULL’, ’192.168.1.203’)

      このクエリー、mysql 5.0.23 のこちらの環境で直接実行しても問題なく終了しました。

      integer(10) の id が NULL となってるのが悪いというのなら、
      phpmyadmin なりを使って手動で NULL を 0 にでも書き換えてみたらどうですか?

      そもそも何故 "REPLACE" ?

      Quote from: zephir at Jun 20, 2007, 12:44 AM

      何度もMySQL入れ直し→MODx入れ直し と行ってみましたが毎度同じエラーです。

      私は入れ直す場合、データベース上に残骸があると悪さをするかもしれないの
      で、まっさらにしてからインストールしています。
        • 33463
        • 35 Posts
        お返事ありがとうございます。

        当該クエリをNavicatMySQL上で実行しましたが、同じようにNULLがイカンと怒られました。
        で、NULLを 0 など数値に変えて実行したら通りましたが、MODxでログイン時に吐き出されるSQL文が
        変わるわけではないのでログインは相変わらずエラーとなります。

        一応MySQL入れ直しではMySQL関係のフォルダも全部削除してみましたし、別のディスクにインストール
        してみたりもしたんですが。。。

        他にもWEBユーザーを色々作成してみましたが結果は同じ。
        そもそもMODxが吐き出すWEBログイン時のSQL文が直接実行できない以上どうにもならないですね。
        modx_active_users の idカラムはNULLが許可されているのに・・・。
          • 33463
          • 35 Posts
          もうちょっと分かってきました。

          フレンドリーURLをOFFにしてみたらエラーなく無事ログイン出来ます。(サーバーマシンのローカル環境のみ)
          ONにすると再び同じエラー。

          そして、フレンドリーURLをOFFのとき、以下のようになることが分かりました。

          テンプレートの <base href="[(site_url)]"></base> 部分がLAN内の他のマシン上のブラウザでサイト表示すると
          <base href="http://localhost/"></base>
          となってしまいCSS適用できないとか、他のページへ移れないとか。

          なんか根本的にどこかの設定を間違えてるような気がしてきました。
            • 6158
            • 224 Posts
            Quote from: zephir at Jun 21, 2007, 01:10 AM

            テンプレートの <base href="[(site_url)]"></base> 部分がLAN内の他のマシン上のブラウザでサイト表示すると
            <base href="http://localhost/"></base>
            となってしまいCSS適用できないとか、他のページへ移れないとか。

            こうなるってことは、

            (1) manager/include/config.ini.php が正しく書き込まれているか
            (2) .htaccess の rewrite が正しく書かれているか

            が問題じゃないですか? まずはそこを正す。
              • 33463
              • 35 Posts
              度々のアドバイスありがとうございます。

              Quote from: custar at Jun 21, 2007, 02:43 AM

              (1) manager/include/config.ini.php が正しく書き込まれているか
              (2) .htaccess の rewrite が正しく書かれているか

              が問題じゃないですか? まずはそこを正す。

              どちらも見直したんですが特に間違ってないと思うんですねぇ。
              http://modxcms.com/forums/index.php/topic,10085.0.htmlも参考にしたんですが・・・。
              因みに現状の.htaccessは

              RewriteEngine On
              RewriteBase /
              RewriteCond %{REQUEST_FILENAME} !-f
              RewriteCond %{REQUEST_FILENAME} !-d
              RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]
              でして、MODxはルート直下に置いてます。

              ログインさえしなければフレンドリーURLオンで期待通りのURL吐き出しで表示もされるんで不思議なんです。
                • 6158
                • 224 Posts
                Quote from: zephir at Jun 20, 2007, 12:44 AM

                WEBユーザーを作成しログイン

                Web User で何処にログインしようとされてます?
                もしかして manager じゃないですか?

                もしそうなら、Web User で manager にログインしてはいけません。
                Web User と User はできることが異なります。
                  • 19033
                  • 892 Posts
                  こんにちは。

                  こちらはちょっと古いログのようですが、同じような現象じゃないでしょうか。
                  http://modxcms.com/forums/index.php/topic,2019.0.html
                    • 33463
                    • 35 Posts
                    おはようございます。

                    >custarさん
                    さすがにそれは無いです。

                    >MEGUさん
                    お初です。
                    まともに英語が読める訳じゃないですが、そのログとほぼ同じ感じですね。

                    因みにMODxは以下の環境下で稼働していました。
                    Windows Server 2003 SE
                    Apache 2.0.55
                    MySQL 4.0.24
                    PHP 4.4.2
                    MODx 0.9.2 → 0.9.5 → 削除

                    Windows Server 2003 R2 SE
                    Apache 2.2.3
                    MySQL 5.0.27
                    PHP 5.2.0
                    MODx 0.9.5 (稼働中)

                    個人的なカンですがMySQLのバージョンを下げてやってみることにします。
                      • 6158
                      • 224 Posts
                      Quote from: custar at Jun 21, 2007, 09:17 AM

                      Web User で何処にログインしようとされてます?
                      もしかして manager じゃないですか?

                      こう思った理由は、「REPLACE INTO.....」というクエリーは manager へのア
                      クセス時にしか実行されないからです。