Silverstripe / admin /突然停止工作

时间:2012-03-14 09:41:19

标签: php mysql admin silverstripe

目前我正在开发一个SilverStripe项目,一切似乎都在顺利进行。 但事情发生了变化..今天早上我尝试登录,并收到错误发生的消息。 在开发模式下运行时出现以下错误消息:

  

[用户错误]无法运行查询:SELECT“SiteTree_Live”。“ClassName”,   “SiteTree_Live”。“Created”,“SiteTree_Live”。“LastEdited”,   “SiteTree_Live”。“URLSegment”,“SiteTree_Live”。“标题”,   “SiteTree_Live”。“MenuTitle”,“SiteTree_Live”。“内容”,   “SiteTree_Live”。“MetaTitle”,“SiteTree_Live”。“MetaDescription”,   “SiteTree_Live”。“MetaKeywords”,“SiteTree_Live”。“ExtraMeta”,   “SiteTree_Live”。“ShowInMenus”,“SiteTree_Live”。“ShowInSearch”,   “SiteTree_Live”。 “HomepageForDomain”   “SiteTree_Live”。“ProvideComments”,“SiteTree_Live”。“排序”,   “SiteTree_Live”。“HasBrokenFile”,“SiteTree_Live”。“HasBrokenLink”,   “SiteTree_Live”。“状态”,“SiteTree_Live”。“ReportClass”,   “SiteTree_Live”。“CanViewType”,“SiteTree_Live”。“CanEditType”,   “SiteTree_Live”。“ToDo”,“SiteTree_Live”。“版本”,   “SiteTree_Live”。 “PARENTID”,

阅读完整的错误消息:http://pastebin.com/TrjrEzUn

... WHERE ("SiteTree_Live"."ClassName" IN ('Page','BlogEntry','BlogTree','DienstHolder','DienstPage','FaqHolder','FaqPage','FrontPage','MemberPage','TeamPage','ErrorPage','RedirectorPage','VirtualPage','UserDefinedForm','BlogHolder')) AND (ParentID = ) ORDER BY "Sort" You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY "Sort"' at line 1 
GET /Security/login?BackURL=%2Fadmin

Line 525 in /home/admin/domains/stargroup.nl/public_html/sapphire/core/model/MySQLDatabase.php

我检查了空类名的mysql,其中一些找到了但得到了正确的类名。 任何人都有任何关于如何克服此错误并让登录重新恢复工作的建议?

Thnx提前!

2 个答案:

答案 0 :(得分:2)

发布的查询中的问题是其中一个参数缺少一个值 - 就在最后:

AND (ParentID = ) ORDER BY "Sort"

在不知道silverstripe的情况下,我猜你的某篇文章/帖子在某种程度上错过了ID或ParentID。

答案 1 :(得分:1)

由于SilverStripe IRC频道中的Bollig | DesignCity,Bug已被修复。

这一切都与page.php中的一些代码有关。

错误的代码

    function Siblings() { 
       $whereStatement = "ParentID = ".$this->ParentID; 
    return DataObject::get("Page", $whereStatement); 
    }

固定代码 自我注意:始终要注意像这样的小错误..

    function Siblings() { 
       $whereStatement = "ParentID = '".$this->ParentID."'"; 
    return DataObject::get("Page", $whereStatement); 
    }