Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
安全及;使用php从mysql数据库存储和检索数据的最快方法_Php_Mysql_Sql Injection_Database Performance - Fatal编程技术网

安全及;使用php从mysql数据库存储和检索数据的最快方法

安全及;使用php从mysql数据库存储和检索数据的最快方法,php,mysql,sql-injection,database-performance,Php,Mysql,Sql Injection,Database Performance,我看到了很多使用php在数据库中存储数据的函数,如下所示: (1) 像wordpress等许多网站都使用序列化,这看起来不错,但大多数论坛都说这不是一种存储数据的好方法,那么为什么这些论坛使用序列化来存储数据呢 (2) Json是存储数据的另一种方式 (3) mysql\u real\u escape\u string是存储数据的另一种方式 (4) addslashes与stripslashes一起使用。但是addslashes用斜线插入数据,这在我看来并不好,因为它会破坏数据库 (5) 我们还

我看到了很多使用php在数据库中存储数据的函数,如下所示:

(1) 像wordpress等许多网站都使用序列化,这看起来不错,但大多数论坛都说这不是一种存储数据的好方法,那么为什么这些论坛使用序列化来存储数据呢

(2) Json是存储数据的另一种方式

(3) mysql\u real\u escape\u string是存储数据的另一种方式

(4) addslashes与stripslashes一起使用。但是addslashes用斜线插入数据,这在我看来并不好,因为它会破坏数据库

(5) 我们还可以使用php函数来清理数据,如get_magic_quotes_gpc()


请解释他们的优缺点以及应该在什么时候使用。

php PDO和存储过程是mysql数据访问的标准“最佳”方式。

我认为你应该服用蓝色药丸。在你的世界中,“最快”是什么意思?序列化和JSON编码与速度无关。无论是序列化还是保存一堆随机文本,MySQL都是如此。JSON序列化也是如此。它通过套接字接收数据并将其写入磁盘。因此,请后退一步,描述您真正想要的是什么,而不是列出不相关的术语。@N.B.这里的“最快”是指从数据库存储和检索数据的性能。“速度”取决于数据库守护进程运行的硬件、基础存储和数据库配置。无论存储序列化对象、json编码对象还是常规文本数据,MySQL都是如此。它写入4kb序列化数据的速度不会比写入4kb ASCII文本的速度快。@N.B.我完全同意你的看法,OP提到Wordpress是这样管理存储的,所以我用谷歌搜索了一下,结果发现WP这样做是为了存储插件设置(这很有意义,因为它是一种允许插件存储数据的惰性方式)OP似乎更可能与许多数据库概念打交道,因为他的问题似乎混淆了数据序列化和数据转义的方法……好吧,我得到了你的答案,那么为什么我们使用JSON、序列化和其他。Wordpress网站使用序列化数据来存储。为什么?@neo使用这些方法作为数据包装(json、序列化等)作为编码机制只是将更多数据塞进单个列的一种懒惰方式,使用这些方法的成本是速度降低、内存使用增加以及潜在的安全问题。。带有准备好的语句和写入原始数据的PDO只能用于显著提高数据库访问的安全性和速度。(它还有免疫SQL注入攻击的好处)WP等产品通常使用序列化数据存储“插件配置”,因此插件作者可以获得“更简单”的持久性,那么get_magic_quotes_gpc()、mysql_real_escape_strings()呢?