2019/08/19 08: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)

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5924
場所:Tokyo
3月21日にDirkさんが、 それはMySQL 5での知られていたバグ、CVSで既に修正済み。 と発言しているようですがこれと関係あるでしょうか。 http://www.geeklog.net/forum/viewtopic.php?forum=3&showtopic=65498 おかしい動作があれば本家のデモサイトでも、試してみてください。

custar

ゲストユーザ
私の環境では、mysql5.0.20 ですが発生しています。 本家で再現させようとしても、本家がどのバージョンを用いているか、どこに 明記されているのでしょうか。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5924
場所:Tokyo
Quote by: custar

私の環境では、mysql5.0.20 ですが発生しています。 本家で再現させようとしても、本家がどのバージョンを用いているか、どこに 明記されているのでしょうか。

mysql5.0.20ですか。 https://www.geeklog.jp/article.php/install_condition mysql5はまだこちらで実績があまりないのです・・・ テスト的に5で入れて、lib-database.phpの最後に次の1行を追加してインストールすれば文字化けせずインストールできた、 ここまでしか実証していなかったかも・・どうでした?土谷さん。

custar

ゲストユーザ
mysql5 でのクエリの書き方が原因のようですが、まだはっきりしていません。 'Unknown column clause' で検索すると、geeklog に限らず他でも報告されて います。 で、どうすればよいのかがまだ分かりません。

状態: オフライン

kino

Site Admin
Admin
登録日: 12/30/05
投稿数: 568
場所:京都市下京区
木下です。
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 ;
 
となるように修正したらエラー無く動作しないでしょうか? LEFT JOIN の対象として gl_users ではなくgl_group_assignments としてgl_group_assignmentsのなかで gl_users.uid を探そうとしてエラーになっているのではないかと推測します。
木下敏夫 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のログを見ていると、
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;
 
なんていうのが続いています。 1.4.0sr3のリリースより前の日付なのですが、1.4.0sr3としてリリースされるファイルは revision 1.63 となっていますし、実際それが含まれています。(うーん、大丈夫なのかなぁ。)

taca

ゲストユーザ
working
> 1.4.0sr3のリリースより前の日付なのですが、1.4.0sr3としてリリー > スされるファイルは revision 1.63 となっていますし、実際それが > 含まれています。(うーん、大丈夫なのかなぁ。) 社内で立ち上げたgeeklogで今一つ動作が不審だったため、CVSをたどって最新のものまで必要そうな修正だけを適用してみました。 パッチのファイルを、ftp://ftp.back-street.net/pub/geeklog/patch-aeとして置きました。参考になれば幸いです。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5924
場所:Tokyo
どうもありがとうございます!

ページナビゲーション

時刻はすべて JST , 現在の時刻は 08:51 AM

  • 通常
  • 注目トピック
  • ロック済
  • 新着
  • 注目トピック 新着
  • ロック済トピック 新着
  •  ゲストユーザの投稿を見る
  •  ゲストユーザ投稿可能
  •  一部のHTMLを許可
  •  バッドワードをチェック