【问题标题】:Getting error when pages are being requested请求页面时出错
【发布时间】:2011-11-15 03:55:04
【问题描述】:

我让某人为一个小型网站构建了自定义 CMS,但现在我无法联系到开发人员。尝试查看我的网站时出现此错误:

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 sortorder' at line 1:

select path, title
from pages
where parent_id =
order by sortorder

经过一些帮助,我能够确定问题出在哪里:

public function getChildLinks()
{
    $list = array();
    $WHERE_path = substr($_SERVER['REQUEST_URI'], 1);
    $WHERE_path = strlen($WHERE_path) ? '= "'.$WHERE_path.'"' : 'IS NULL';
    $parentPageRowset = Axl_Db::query('SELECT id, parent_id FROM '.$this->_name.' WHERE path '.$WHERE_path);
    $parent_id = $parentPageRowset[0]['parent_id'] ? $parentPageRowset[0]['parent_id'] : $parentPageRowset[0]['id'];
    $listRowset =  new Axl_Db_Rowset('SELECT path, title FROM '.$this->_name.' WHERE parent_id = '.$parent_id.' ORDER BY sortorder');
    while($listRowset->next())
    {
        $list['/'.$listRowset->path] = $listRowset->title;     
    }
    return $list;
}

这是导致问题的函数。

【问题讨论】:

    标签: php mysql sql content-management-system mysql-error-1064


    【解决方案1】:

    问题在于您的WHERE 子句;它有parent_id =,但没有任何后续。您需要在查询中提供一个值。

    【讨论】:

    • 感谢您的回复。现在我会在哪里查看以使用您在上面看到的结构进行此更正?
    • 我不知道这是在哪个文件中。如果是我,我会搜索/grep 此查询的源代码(可能只是“按排序顺序”)以找到调用它的文件.这为您提供了一个开始寻找添加参数的地方。
    • @Adam... 再次感谢您的回复。我将浏览所有文件,看看是否能找到类似于该查询的内容。我对grep不太熟悉。或任何命令行,所以我认为这对我来说不是最好的选择。除非你能指出我可以读到如何做到这一点的地方。再次感谢!
    • 我使用 agent ransack mythicsoft.com/page.aspx?type=agentransack&page=home 但是如果你不喜欢这个,有很多免费的工具。
    • 刚刚安装,是的,这是一个不错的应用程序。我看到有 8 个文件具有文本“排序顺序”,但并没有真正看到它可能丢失的位置。嗯
    【解决方案2】:

    CMS 很可能需要在 url 中使用 GET var 才能使 mysql 语句正常工作。

    【讨论】:

      【解决方案3】:

      从 Adam 那里得到很好的反馈后,我能够真正确定我需要修复的文件,或者更深入地研究一下。

      原来我需要引用 parent_id 变量

      像这样:

      $listRowset =  new Axl_Db_Rowset('select path, title from '.$this->_name.' where parent_id = "'.$parent_id.'" order by sortorder');
      

      感谢亚当的帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-30
        • 1970-01-01
        • 1970-01-01
        • 2017-02-27
        • 2021-04-06
        • 1970-01-01
        • 2012-01-30
        • 2010-11-30
        相关资源
        最近更新 更多