五个常见 PHP 数据库问题 揭露 PHP 应用程序中出现的五个常见数据库问题 —— 包括数据库模式设计、数据库访问和使用数据库的业务逻辑代码 —— 以及它们的解决方案。 如果只有一种 方式使用数据库是正确的…… 您可以用很多的方式创建数据库设计、数据库访问和基于数据库的 PHP 业务逻辑代码,但最终一般以错误告终。本文说明了数据库设计和访问数据库的 PHP 代码中出现的五个常见问题,以及在遇到这些问题时如何修复它们。 问题 1:直接... 2013年07月21日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
PHP has encountered an Access Violation解决方法总结 这个问题不是很好处理,困惑了很多站长非常时间了,主要出现在windows主机的服务器上。在php官方,http://bugs.php.net/ 也能够查到两三千页的报告,他们官方也是束手无策,经过了11个小版本后,还是没有彻底解决. 目前我提供一下这几年我维护经验,我的一些民间解决办法 2013年07月20日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
Linux下PHP连接MS SQLServer的办法 提出问题 前几天做了一个非常奇怪的项目,我公司开发了一套基于中国联通SGIP协议的SP端短消息服务软件,提供联通130短信服务。这套系统是Windows 2000下的,数据库采用的是微软SQLServer2000,并且已经正常运行了一段时间。而最近由于要在WEB上提供短消息用户的一些信息,就需要从WEB上读写SQLServer数据库,本来SQLServer数据库的最佳搭档应该是微软IIS ASP服务端脚本,但我公司一向认为IIS+ASP的稳定性和... 2013年07月19日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
PHP 5.0对象模型深度探索之起步 面向对象编程被设计来为大型软件项目提供解决方案,尤其是多人合作的项目. 当源代码增长到一万行甚至更多的时候,每一个更动都可能导致不希望的副作用. 这种情况发生于模块间结成秘密联盟的时候,就像第一次世界大战前的欧洲。 haohappy注:喻指模块间的关联度过高,相互依赖性太强.更动一个模块导致其它模块也必须跟着更动。 想像一下,如果有一个用来处理登录的模块允许一个信用卡处理模块来分享它的数据库连接... 2013年07月18日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
有关在Windows下配置PHP+Apache+Optimizer失败的问题解决方案 昨晚在Windows XP Professional [带IIS]下安装了PHP 5.0.5和 Apache 2.0.54[监听端口8088]. 今天在安装Discuz论坛时被要求安装Zend-Optimizer以支持加密过的PHP文件. 下载到Zend-Optimizer 2.5.7的Win32安装文件 在安装时,开始很顺利 Apache Root和php.ini选择路径分别为: E:/Program Files/Apache Group/Apache2 E:/PHP5 可是到后来需要重启Apache的时候,重启失败.手动重启.提示安装成功.可是在phpinfo.ph... 2013年07月17日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
php作wap开发时遇到的问题 1.文件格式 首先要遇到的问题肯定是文件格式,在作web开发时,大家都是用的html或xhtml,到了wap开发时,就得用wml了.什么是wml?大家可以去查更详细的资料,我这里只是略微的提到.在我看来wml类似于xml,有非常严格的格式,在作wap页面时,都得用wml来作为显示. wml的语法非常简单,在用php作动态输出时,一定要发送一个头信息,标明本页面是wml,而不是别的什么*ml. [code lang="php"] [/code] 这里用的字符集是gb231... 2013年07月16日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
php+odbc+access数据库操作函数,在windows下测试通过 前些天下载了adodb,想用adodb连access数据库,后来连是连上了,不过不能更新和插入记录,也不知道为什么到现在还没人给我回答那个苦恼的问题,后来就放弃了adodb,使用php自己的odbc,但是使用很不方便,就写下了下面这些函数,还没有封装成类,希望能够为有同样问题的朋友一些帮助 2013年07月15日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
PHP程序员一般都忽略了的几点精华 我发现很多的PHP程序员,尤其是学习还不是很久的,都不知道PHP的精华所在。Perl当年如何在商界出名?其强大的正则表达式。而PHP呢?他是一门从Unix下发展起来的语言,当然也就继承了Perl的很多特点,同时C的优点都有。快速、简洁、明了,尤其是C程序员,PHP是至爱,我就是深爱着“PHP”(都忘了女友了:))。这里,我想来写一篇PHP的变量、数组应用技巧和PHP的正则表达式、PHP的模板应用,以后有时间再写PHP与... 2013年07月14日 PHP技术文章 暂无评论 喜欢 1 阅读 0 views 次 阅读全文
类的另类用法–数据的封装 类的另类用法–数据的封装 一般的情况下,如果使用classname::property是不能访问到类的属性的,但可以用classname::method()使用类的方法。同样的也不能用objectname->property访问到类的方法里的变量。利用这一特点,我们可以将一些数据保存于类中,有点象c++的私有属性。 2013年07月13日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
PHP实现http与https转化 最近在写PHP程序时,需要使浏览器在https和http之间转化,上网搜索相关信息,无奈只有最近在写PHP程序时,需要使浏览器在https和http之间转化,上网搜索相关信息,无奈只有一篇介绍用ASP实现“在http和https之间转化”的文章,于是只好行写了用PHP实现http与https转化的代码。 如果网页使用https访问,在网页开头加入以下代码: 2013年07月12日 PHP技术文章 暂无评论 喜欢 2 阅读 0 views 次 阅读全文
使用APC缓存PHP 概述: Alternative Php Cache(APC)是php 的一个免费公开的优化代码缓存。它用来提供免费,公开并且强健的架构来缓存和优化php 的中间代码。 评注: 1. 在Windows下,APC需要有一个临时路径,并且Web服务器具有可写权限。它按顺序检查TMP、TEMP、USERPROFILE环境变量,如果发现他们都没有设置,最后就使用WINDOWS目录。 2. APC不支持分布式。 II. 安装: 从pecl4win.net.php下载PECL dll包,放到PHP5/ext... 2013年07月11日 PHP技术文章 暂无评论 喜欢 1 阅读 0 views 次 阅读全文
升级php后phpmyadmin无法登陆 一般情况是PHP.ini配置问题,根据下面的配置项再设置一次,然后重启服务器,试试! (1) 设置扩展路径 查找extension_dir 有这么一行 ;extension_dir = "./" 在此行后面加入一行(注意是加入一行,不是加到后面) extension_dir = "d:\php\ext" 其中d:\php是你安装php的路径。路径不正确将无法加载dll (2) 查找extension extension=php_mbstring.dll extension=php_gd2.dll extension=php_mysql.dl 把... 2013年07月10日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
PHP的内码转换函数 mb_convert_encoding() 因为某程序要用输出UTF-8编码但是原数据是GBK编码的 百度 找了很多有关内码转换的类但是缺点很多。又不支持GBK TO UTF-8 不过一个一个找还是在PHP官方的FAQ找到了mb_convert_encoding() 该函数要在PHP4.0.6以上才有听说有的 想关链接:http://cn.php.net/manual/zh/function.mb-convert-encoding.php 做一个GBK To UTF-8 [code lang="php"] [/code] 再来个GB2312 To Big5 [code lang="php"] [/code] 2013年07月09日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
PHP代码优化 1. 不要随便就复制变量 有时候为了使PHP 代码更加整洁,一些PHP 新手(包括我)会把预定义好的变量复制到一个名字更简短的变量中,其实这样做的结果是增加了一倍的内存消耗,只会使程序更加慢。试想一下,在下面的例子中,如果用户恶意插入512KB 字节的文字到文本输入框中,这样就会导致1MB 的内存被消耗! BAD: $description = $_POST['description']; echo $description; GOOD: echo $_POST['descriptio... 2013年07月08日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
php日志错误异常处理 PHP输出所有的错误报告error_reporting=E_ALL设置 例如不显示警告error_reporting=E_ALL & ~E_WARNING 用PHP函数设置PHP.INI ini_set() 如 ini_set(“error_reporting”,E_ALL) 获取PHP.ini里面的值可以用函数ini_get() 如 ini_get(“upload_max_filesize”) PHP不显示错误报告PHP.ini 里面设置display_errors=off 我们在开发阶段要开启错误报告,运行阶段不要输入任何一种错误报告(用display_errors=Off... 2013年07月07日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
PHP常用的几种缓存机制 普遍缓存技术 数据缓存:这里所说的数据缓存是指数据库查询PHP缓存机制,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓存表或文件中获得。 用的最广的例子看Discuz的搜索功能,把结果ID缓存到一个表中,下次搜索相同关键字时先搜索缓存表。 举个常用的方法,多表关联的时候,把附表中的内容... 2013年07月06日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
PHP服务器变量$_SERVER详解 今天仔细学习了一下手册关于服务器变量的内容,写个一个笔记,贴出来希望对初学者有帮助。 服务器变量 $_SERVER 详解: 1、$_SESSION['PHP_SELF'] -- 获取当前正在执行脚本的文件名 2、$_SERVER['SERVER_PROTOCOL'] -- 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。 3、$_SERVER['REQUEST_TIME'] -- 请求开始时的时间戳。从 PHP 5.1.0 起有效。和time函数效果一样。 4、$_SERVER['argv'] -- 传递给... 2013年07月05日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
PHP中getenv函数的用途 在PHP中getenv(参数)函数是一个用于获取环境变量的函数,根据提供不同的参数可以获取不同的环境变量,具体如下: “PHP_SELF” 当前正在执行脚本的文件名,与 document root 相关。举例来说,在 URL 地址为 [url]http://example.com/test.php/foo.bar[/url] 的脚本中使用 $_SERVER['PHP_SELF'] 将会得到 /test.php/foo.bar 这个结果。__FILE__ 常量包含当前(例如包含)文件的绝对路径和文件名。 如果 PHP 以... 2013年07月04日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
PHP程序员必知的13个编码好习惯总结 我是一个PHP新手,只有6个月的PHP编程经历,并且是在一位经过认证的zend工程师的指导下完成工作的,每当我编写脚本时,我会注意一些能让我做得更好的细节,也就是本文列举的这14个PHP编码好习惯,如果你有更好的建议,欢迎在本文后面的评论中发表,我这个人是喜欢求知的。 1、使用select从相同的数据库查询信息时,使用一个join语句一次性整齐地获取你需要的所有信息,而不要写多个mysql_query/while/mysql... 2013年07月03日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文
在公司遇到php的两个小问题 在公司遇到两个php小问题,特写下来,以便日后看到能解决. sleep(10);如果不放在for循环里面在流程下面将会继续执行,而不会等待. mb_strlen(val,"utf-8"); 还是有关中文的问题。PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍的差异了(在UTF-8编码下,一个汉字占3个字节)... 2013年07月02日 PHP技术文章 暂无评论 喜欢 0 阅读 0 views 次 阅读全文