1,目录名设置尽量不要用数字作为开头;
require './3721/ads/ad.php';
... ...
... ...
?>
在Windows环境下,程序正常执行。但是移植到Linux环境,出现致命错误。后经过检查发现,原来是将红色部分作为转义字符处理,故不能正常导入文件。
2,采用utf-8编码的页面,不要直接在LeapFTP中打开修改;
因为在保存上传后,修改后的页面会加入一个空白标记,使得页面显示头上总有一个空行。这个问题我也曾经找了好久才发现其中奥妙。所以还是乖乖的先将文件下载到本地,用ZDE修改保存后,再上传至服务器。
3,数字字符
由于PHP对于变量定义的不严格,所余导致了PHP程序员们没有将这点太当一回事,可是当错误接踵而来时,就不得不大费周章的去寻找问题的答案。其实也许答案就恰恰在于我们忽略的这些盲点上。在执行一条SELECT语句时,发现WHERE子句不能匹配数据为0的值,结果是在设置库表结构时,产生0数据的字段被设置为VARCHAR型,而匹配的变量是数值型的0,导致了问题的产生,将与之匹配的变量设置为:
... ...
$i = "0";
... ...
?>
问题解决!该问题也曾经在Javascript的匹配程序中出现,同样只要预先将变量的数字值设置为字符串格式的数字。问题就迎刃而解了。
4,字符编码
接上例,执行SELECT语句时,发现WHERE子句无论如何都不能获取到正确结果。后经检查发现,原先库表结构中,该字段的编码设置为默认的latin1,而从页面提交过来的数据是以utf-8的编码格式。导致WHERE子句产生不匹配现象。
No comments:
Post a Comment