重复变量真的很糟糕吗?

时间:2011-03-31 11:51:35

标签: php mysqli

我知道这个php代码不好

<?php
$id=$_SESSION['id'];
?>

但它可以节省编写长代码的费用! 为了更好的可读性,我们必须丢失一些内存, 的 Q-&GT;但是真的很糟糕[如果我在页面中有5个这样的变量]吗?

=============================================== =================

Q-&GT;哪一个更快?
 1→ mysqli_prepare("sql");
 2→ mysql_real_escape_string("input"); mysqli_query("sql");

=============================================== =================

Q-&GT;在每个页面完成工作后关闭mysqli是否有效?

4 个答案:

答案 0 :(得分:1)

  

但它可以节省编写长代码的费用!为了更好的可读性,我们必须丢失一些内存,

你真的不应该关心记忆。空数组比5个重复的字符串变量占用更多内存。

如果它有助于提高可读性,那么使用本地化的变量副本。如果您不忘记在该步骤中过滤输入变量,那就更好了。这种方法没什么“坏”的。

  

哪一个快速起作用? mysqli / mysql_real_escape_string

这取决于。如果使用准备好的statments / bound参数,如果向数据库发送多个数据行,则可以节省一些时间。对于普通的查询,如果你只是使用mysqli来逃避这些值,那么它就没有什么区别了。 Mysqli和旧的mysql_函数的速度可能不同,但与数据库查询本身相比,它肯定是微不足道的。

  

在每个页面的工作完成后关闭mysqli是否有效?

你不应该这样做。

答案 1 :(得分:0)

<强> Q-&GT;但是真的很糟糕[如果我在页面中有这样的5个变量]吗?

你应该清理你的输入变量!

<强> Q-&GT;哪一个快速工作?

在大多数情况下,

mysqli_prepare()速度更快

<强> Q-&GT;在每个页面完成工作后关闭mysqli是否有效?

我认为这是一种很好的风格,应该做到!

答案 2 :(得分:0)

<强> Q-&GT;但是真的很糟糕[如果我在页面中有这样的5个变量]吗?

它只占用内存中的更多字节。 您可以创建一个包装$ _SESSION

的静态类

<强> Q-&GT;哪一个快速工作? 你可以自己测试一下(数毫秒)。 我将PDO_MYSQL与Zend_Db一起使用。

<强> Q-&GT;在每个页面完成工作后关闭mysqli是否有效? 我在最后主动关闭所有使用过的连接(在php脚本结束后,不需要让它们保持活着或者让它们睡觉)。

答案 3 :(得分:0)

  1. 很好。

  2. 两者都不是。速度不应该是你关注的问题。

  3. 对网页无关紧要。