Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

mysql4.x版本数据库报Errno.: 1052错误解决方案[7.5]

[复制链接]
lidq.jingwu 发表于 2009-11-28 11:48:35 | 显示全部楼层 |阅读模式
SupeSite info: MySQL Query Error

User: baicai
Time: 2009-11-27 5:35pm
Script: /www/cp.php

SQL: SELECT * FROM [Table]postitems LEFT JOIN [Table]postmessages USING (itemid) WHERE itemid='23'
Error: Column: 'itemid' in where clause is ambiguous
Errno.: 1052

在mysql5.X中没有这个错误,只有4.X版本中才有这个错误,是因为表字段属主不明确导致的。
解决办法:
打开source/cp_news.php文件,找到下面的一段代码:

  1.         if($do == 'pass') {
  2.                 $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('spaceitems').' LEFT JOIN '.tname('spacenews')." USING (itemid) WHERE itemid='$itemid'");
  3.         } else {
  4.                 $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('postitems').' LEFT JOIN '.tname('postmessages')." USING (itemid) WHERE itemid='$itemid'");
  5.         }

复制代码
将其替换为:
  1.         if($do == 'pass') {
  2.                 $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('spaceitems').' i LEFT JOIN '.tname('spacenews')." n USING (itemid) WHERE i.itemid='$itemid'");
  3.         } else {
  4.                 $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('postitems').' i LEFT JOIN '.tname('postmessages')." m USING (itemid) WHERE i.itemid='$itemid'");
  5.         }

复制代码
abcnic18 发表于 2009-11-30 12:11:43 | 显示全部楼层
留个记号!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-24 03:40 , Processed in 0.022000 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表