目前我正在开发一个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提前!
答案 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);
}