mysqli比fopen快多少?

时间:2013-03-15 03:20:05

标签: php mysqli fopen

我只是制作一个非常基本的cms来制作一个单页网站。 不会从普通用户访问php。相反,它只是生成html网站。 但是,如果可能,我可以将代码用于一般用户。

由于某些原因使用数据库会导致一些问题所以我正在考虑使用fopen。 fopen如何与mysqli相比?我只是想知道在什么阶段使用fopen变得更加负担。

由于

2 个答案:

答案 0 :(得分:7)

使用fopen做什么? MySQL有什么问题?

无论如何,这两者是无与伦比的:

fopen是一个函数在磁盘上打开文件,mysqli是一组用于处理MySQL数据库的函数。

fopen在同时请求中使用是不安全的 - 如果同一个脚本同时运行两次(例如,两个人在彼此的几毫秒内发出相同的GET请求),那么如果其中一个脚本写入则会发生损坏到文件,所以你将不得不使用一个锁定文件,这将使性能受损。

使用MySQL(版本5+)为您提供符合ACID标准的数据存储解决方案。

如果您说的是“单页网站”,那么您可能会使用fopen,只需确保使用适当的锁定文件(以及良好的安全性!)。

答案 1 :(得分:0)

研究CMS就像WordPress一样,Drupal或Joomla与文件系统相比是一个更好的选择,尽管我想指出那些CMS不仅能够提供静态页面。我不确定您希望在文件中存储哪种数据,但您必须至少遇到两个主要问题,integritylocking。仍然是it's very hard for me to imagine how that might not create an unpleasant experience for a user especially with concurrency and locking ?

我不知道任何“reasons using databases would cause a few problems”。 Mysqli是一个面向对象的Mysql驱动程序,它也允许php的mysql驱动程序没有。

但是,是的,拥有数据库确实会带来某些安全责任,但通过良好的编程实践并遵循公认的范例,排除问题并不困难。而IMO这是一个由我们对数据库的控制产生的问题。许多缺乏经验的开发人员已经公开了这一点。

如果您正在考虑从事Web开发的职业,那么研究MVC框架可能也是一个好主意。这些框架中包含大部分锅炉板代码,其中一些框架迫使您遵循良好的做法,使您的应用程序可扩展,强大和安全。

对我而言,在平面文件系统上使用它是不,不,不......;)