动态代码风格而不是硬编码

时间:2012-12-30 00:43:33

标签: php mysql webserver

插入更新时我使用

 $sql = sprintf("INSERT INTO emp_detail  VALUES ('%s')", implode ("', '",$formData));
    if (!mysql_query($sql,$con)){die('Error: ' . mysql_error());

是上面的编码风格导致服务器机器减速。而不是像下面的编码。

$sql ="INSERT INTO emp_detail  VALUES ('aa','bbb','ccc');
 if (!mysql_query($sql,$con)){die('Error: ' . mysql_error()); 

我指的是执行时间,性能等。

1 个答案:

答案 0 :(得分:0)

执行时间的差异很难衡量,因为字符串插值和implode调用将比数据库服务器的往返时间快几个数量级。我们说的是纳秒与毫秒。

但是,你问的是错误的问题。在应用程序中编写文字SQL语句是一种非常糟糕的做法,它太低级了,无法在任何非平凡的应用程序中实现。

您应该使用的是Doctrine来管理数据库内容。像YiiCakePHP这样的框架也消除了很多超级低级实现。

请记住,当您使用mysql_query时,您将直接与MySQL C驱动程序连接。这是一个非常糟糕的主意,实际上已在PHP 5.5.0中弃用,产生警告。您不应该在新应用程序中使用它。至少使用PDO来提供更好的MySQL包装。