我知道这个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是否有效?
答案 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)
很好。
两者都不是。速度不应该是你关注的问题。
对网页无关紧要。