建站博客

义方互联>建站博客>正文
uc_notelist缺少app1、app2字段,app2对应于"应用2",在创建应用的时候ucenter需要修改uc_notelist添加对应的字段,出现此问题是因为缺少这两个应用的字段。

解决ucenter出现类似Unknown column 'app1' in 'where clause'的问题

  • 前两天发现登录整合的phpwind或切换用户时以及激活人才网用户时页面底部出现错误信息:

    phpwind出现:

    Error:Unknown column 'app1' in 'where clause'
    Errno:1054
    SQL::SELECT * FROM `ucenter`.uc_notelist WHERE closed='0' AND app1<'1' AND app1>'-5' LIMIT 1

    人才出现:

    UCenter info: MySQL Query Error

    SQL:SELECT * FROM [Table]notelist WHERE closed='0' AND app2<'1' AND app2>'-5' LIMIT 1

    Error:Unknown column 'app2' in 'where clause'

    Errno:1054


    错误原因:

    uc_notelist缺少app1、app2字段,app2对应于"应用2",在创建应用的时候ucenter需要修改uc_notelist添加对应的字段,出现此问题是因为缺少这两个应用的字段,而且不知道什么时候会出现这个问题,我的网站就是原来正常运行,突然就出现这种情况。

    解决方法:

    新版的ucenter安装包解压后在u开头的文件夹中找到checkappid.php上传到ucenter根目录然后运行,正常的话会添加完成,错误消失,如:

    补充notelist表字段成功: 1

    补充notelist表字段成功: 2

    如果出现如下错误:


    Error:ALTER command denied to user 'xxxx'@'localhost' for table 'uc_notelist'

    Errno:1142

    SQL::ALTER TABLE uc_notelist ADD COLUMN app1 tinyint NOT NULL


    说明xxxx用户没有ALTER权限。

    到mysql中,

    mysql> SELECT alter_priv FROM user WHERE  User = 'xxxx';

    发现alter_priv = 'N',果然没有权限。

    修改权限:

    mysql> UPDATE user SET alter_priv='Y' WHERE User = 'xxxx';

    mysql> flush privileges;


    重新运行checkappid.php出现:

    PHP Warning: unlink(c:\wwwroot\checkappid.php): Permission denied in c:\wwwroot\checkappid.php on line 31

    说明checkappid.php修改appid已经成功,我们手工删除checkappid.php即可。


    mysql> show columns from uc_notelist;

    各个应用的appx都已创建好。


  • 上一篇:PHP如何发送带附件的电子邮件
    下一篇:真正完美解决火车头采集phpwind入库后显示html源代码的方法