在最近对Php、MySQL和Apache进行了共享主机更新之后,我的站点没有从MySQL中提取数据(1064语法错误)

在最近对Php、MySQL和Apache进行了共享主机更新之后,我的站点没有从MySQL中提取数据(1064语法错误),php,html,mysql,apache,mysql-error-1064,Php,Html,Mysql,Apache,Mysql Error 1064,我是新手。我的托管公司最近升级了他们的服务器,这就是我的网站出现问题的原因: 供参考: MySQL从5.1.70升级到5.5.32版 Apache从2.2.25升级到2.4.6版 PHP从5.3.27升级到5.4.22版 我有一个共享的托管帐户 在过去的两天里,我一直在搜索谷歌、在线手册和开发者/技术论坛,寻找我的“问题”的可能答案,但我没有找到好的答案来帮助我修复代码,使我的网站正确显示。非常令人沮丧。显然,我需要学习更多 BKGD:几年前,我聘请了一名开发人员为我的网站构建了一个CMS,

我是新手。我的托管公司最近升级了他们的服务器,这就是我的网站出现问题的原因:

供参考:

  • MySQL从5.1.70升级到5.5.32版
  • Apache从2.2.25升级到2.4.6版
  • PHP从5.3.27升级到5.4.22版
  • 我有一个共享的托管帐户
在过去的两天里,我一直在搜索谷歌、在线手册和开发者/技术论坛,寻找我的“问题”的可能答案,但我没有找到好的答案来帮助我修复代码,使我的网站正确显示。非常令人沮丧。显然,我需要学习更多

BKGD:几年前,我聘请了一名开发人员为我的网站构建了一个CMS,从那以后我一直在努力学习,所以我对Php、MySQL和HTML有了非常基本的了解。。。但显然不足以解决这些问题你/任何人都能帮我解决这个噩梦吗。

  • 我知道我原来的网站代码在一周前运行良好-在托管更新之前
  • 由于某些原因,索引页和其他“主要部分”目前显示得很好。但是,如果您单击“文章”、“新闻”和其他“页面”的任何链接,则这些页面没有正确连接>>没有从关联的MySQL数据库中提取表数据。这些页面显示了两条不同的错误消息。。。。最初仅显示“1064语法错误”消息或“未找到页面”错误(无“页眉”、“页脚”、“页面标题”或任何其他信息)。此后,我对代码进行了调整(即,我用“/”隐藏了部分代码),并让它显示页眉和页脚,但不显示MySQL数据库中的任何内容

  • 原始的“php.ini”文件需要额外的代码>>“register\u globals=on”如果您的代码依赖于
    register\u globals
    ,您将遇到未定义的变量问题

    例如,如果
    $page\u name
    变量来自一个查询字符串,如
    index.php?page\u name=test
    ,您可以像
    $page\u name
    一样访问它,但现在必须像
    $\u GET['page\u name']
    一样访问它

    您需要检查所有代码,看看是否定义了变量(一个好的IDE可以帮助您做到这一点)


    作为旁注,您还需要仔细检查是否存在任何sql注入问题,直接在查询中注入变量通常不是一个好迹象。您应该真正切换到PDO或mysqli并准备好语句,但在查询中使用变量之前,至少要对变量使用
    mysql\u real\u escape\u string

    mysql\u不推荐使用。使用mysqli_uu或PDO
    //-- START: SAMPLE CODE ----
    
    include "init.php";
    
    $res = mysql_query("SELECT * FROM {$prefix}pages WHERE pag_name='$page_name'") or report();
    
    if (mysql_num_rows($res)==1)
        cdie("no page found");
    else
        $row=fetch($res);
    
    $title = "$row[pag_title]";
    $desc = "$row[pag_description]";
    
    //------- END: SAMPLE CODE --