2022/07/04 14:51 JST
Geeklog Japan Forums
Unknown column 'gl_users.uid' in 'on clause' というエラーが出てしまうのは何故
ページナビゲーション

custar
ゲストユーザ
さて、xrea で geeklog のインストールは終わってしまいましたが、遊んでい
る時、気になる症状がありました。
(1) ユーザー作成
ユーザ管理 > 新規作成にて All Users, Logged-in Users 権限のユーザーを
作成した。
(2) グループ作成
グループマネージャー > 新規作成にて All Users, Logged-in Users 権限の
グループを作成した。
(3) ユーザーをグループに追加
(1) で作ったユーザーを (2) のグループに追加した。
(4) ユーザーの確認
グループマネージャー > ユーザの表示と編集の「リスト」アイコンをクリッ
クして登録されているユーザーを確認しようとしたところ、
An SQL error has occurred. Please see error.log for details.
と言うエラーメッセージが表示されてしまいました。書かれている通り、
error.log を確認すると、
1054: Unknown column 'gl_users.uid' in 'on clause'. SQL in question:
SELECT DISTINCT gl_users.uid,username,fullname,email,photo,regdate,lastlogin
FROM gl_users,gl_group_assignments
LEFT JOIN gl_userinfo ON gl_users.uid=gl_userinfo.uid
WHERE gl_users.uid > 1
AND gl_users.uid = gl_group_assignments.ug_uid
AND (gl_group_assignments.ug_main_grp_id IN (3,1))
ORDER BY username asc ;
( 適当に改行済み )
というメッセージが残っていました。SQL を見る限り特に問題という風に見え
ないのですが、ON 部分の gl_users.uid を unknown と言われても DB にはちゃ
んと存在しています。
何故エラーが出てしまうのでしょう?
今の環境は以下の通りです。同じ症状はローカルで試しても同様に発生してい
ます。
---localhost---
windows xp home edition sp2
apache2.2.0 (xampp1.5.2)
php5.1.2 (utf-8)
mysql5.0.20 (utf-8)
geeklog v1.4.0sr2 (utf-8)
---xrea---
s214 (linux)
apache1.3.34
php5.1.2 (euc-jp)
mysql5.0.18 (utf-8)
geeklog v1.4.0sr2 (utf-8) 
custar
ゲストユーザ
私の環境では、mysql5.0.20 ですが発生しています。
本家で再現させようとしても、本家がどのバージョンを用いているか、どこに
明記されているのでしょうか。
状態: オフライン
Ivy
Site Admin
Admin
登録日: 2004/01/01
投稿数: 5974
場所:Tokyo
Quote by: custar
mysql5.0.20ですか。
https://www.geeklog.jp/article.php/install_condition
mysql5はまだこちらで実績があまりないのです・・・
テスト的に5で入れて、lib-database.phpの最後に次の1行を追加してインストールすれば文字化けせずインストールできた、
ここまでしか実証していなかったかも・・どうでした?土谷さん。 私の環境では、mysql5.0.20 ですが発生しています。 本家で再現させようとしても、本家がどのバージョンを用いているか、どこに 明記されているのでしょうか。

custar
ゲストユーザ
mysql5 でのクエリの書き方が原因のようですが、まだはっきりしていません。
'Unknown column clause' で検索すると、geeklog に限らず他でも報告されて
います。
で、どうすればよいのかがまだ分かりません。
状態: オフライン
kino
Site Admin
Admin
登録日: 2005/12/30
投稿数: 568
場所:京都市下京区
木下です。
確証は無いのですが
FROM
gl_group_assignments,
gl_users
LEFT JOIN gl_userinfo ON gl_users.uid=gl_userinfo.uid
WHERE gl_users.uid > 1
AND gl_users.uid = gl_group_assignments.ug_uid
AND (gl_group_assignments.ug_main_grp_id IN (3,1))
ORDER BY username asc ;
となるように修正したらエラー無く動作しないでしょうか?
LEFT JOIN の対象として gl_users ではなくgl_group_assignments
としてgl_group_assignmentsのなかで gl_users.uid を探そうとしてエラーになっているのではないかと推測します。
木下敏夫 http://www.tktools.jp/ http://okusama-shop.com/
1054: Unknown column 'gl_users.uid' in 'on clause'. SQL in question:
SELECT DISTINCT gl_users.uid,username,fullname,email,photo,regdate,lastlogin
FROM gl_users,gl_group_assignments
LEFT JOIN gl_userinfo ON gl_users.uid=gl_userinfo.uid
WHERE gl_users.uid > 1
AND gl_users.uid = gl_group_assignments.ug_uid
AND (gl_group_assignments.ug_main_grp_id IN (3,1))
ORDER BY username asc ;
( 適当に改行済み )
というメッセージが残っていました。SQL を見る限り特に問題という風に見え
ないのですが、ON 部分の gl_users.uid を unknown と言われても DB にはちゃ
んと存在しています。
何故エラーが出てしまうのでしょう?
PHP Formatted Code
SELECT DISTINCT gl_users.uid,username,fullname,email,photo,regdate,lastlogin FROM
gl_group_assignments,
gl_users
LEFT JOIN gl_userinfo ON gl_users.uid=gl_userinfo.uid
WHERE gl_users.uid > 1
AND gl_users.uid = gl_group_assignments.ug_uid
AND (gl_group_assignments.ug_main_grp_id IN (3,1))
ORDER BY username asc ;
木下敏夫 http://www.tktools.jp/ http://okusama-shop.com/

custar
ゲストユーザ
ご名答!
グループに属するユーザーが表示されました。admin/group.php 619行目 FROM
のテーブルの並びを変更すると表示されるようになりました。
$ diff -u group.php~ group.php
--- group.php~ 2006-03-05 18:19:17.000000000 +0900
+++ group.php 2006-05-29 23:45:25.851521600 +0900
@@ -616,7 +616,7 @@
- $sql = "SELECT ...(中略)... FROM {$_TABLES['users']},{$_TABLES['group_assignments']} $join_userinfo WHERE (略)...
+ $sql = "SELECT ...(中略)... FROM {$_TABLES['group_assignments']},{$_TABLES['users']} $join_userinfo WHERE (略)...
情報ありがとうございました。

taca
ゲストユーザ
> グループに属するユーザーが表示されました。admin/group.php
> 619行目 FROMのテーブルの並びを変更すると表示されるように
> なりました。
すばらしい。
本家のCVS用のWebサーバはダウン中 :-(
だったので、anonymous CVSで調べると、public_html/admin/group.phpのレビジョン1.65で修正されています。
何気なく、同ファイルのCVSのログを見ていると、
revision 1.73
date: 2006-05-14 20:25:42 +0000; author: mjervis; state: Exp; lines: +6 -4; commitid: 5e304467923c4567;
Security: Possible XSS vectors and SQL insertion vectors closed.
----------------------------
revision 1.72
date: 2006-05-13 19:48:20 +0000; author: mjervis; state: Exp; lines: +2 -2; commitid: 2f45446637d54567;
なんていうのが続いています。
1.4.0sr3のリリースより前の日付なのですが、1.4.0sr3としてリリースされるファイルは revision 1.63 となっていますし、実際それが含まれています。(うーん、大丈夫なのかなぁ。)
PHP Formatted Code
revision 1.73
date: 2006-05-14 20:25:42 +0000; author: mjervis; state: Exp; lines: +6 -4; commitid: 5e304467923c4567;
Security: Possible XSS vectors and SQL insertion vectors closed.
----------------------------
revision 1.72
date: 2006-05-13 19:48:20 +0000; author: mjervis; state: Exp; lines: +2 -2; commitid: 2f45446637d54567;

taca
ゲストユーザ

> 1.4.0sr3のリリースより前の日付なのですが、1.4.0sr3としてリリー
> スされるファイルは revision 1.63 となっていますし、実際それが
> 含まれています。(うーん、大丈夫なのかなぁ。)
社内で立ち上げたgeeklogで今一つ動作が不審だったため、CVSをたどって最新のものまで必要そうな修正だけを適用してみました。
パッチのファイルを、ftp://ftp.back-street.net/pub/geeklog/patch-aeとして置きました。参考になれば幸いです。
ページナビゲーション
時刻はすべて JST , 現在の時刻は 02:51 PM
- 通常
- 注目トピック
- ロック済
- 新着
- 注目トピック 新着
- ロック済トピック 新着
- ゲストユーザの投稿を見る
- 投稿可能
- 一部のHTMLを許可
- バッドワードをチェック
検索
ユーザー機能
リモートログイン
イベント
-