在最近对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版
- 我有一个共享的托管帐户
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 --