-4

插入更新时我习惯

 $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()); 

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

4

1 回答 1

1

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

不过,你问错问题了。在应用程序中编写文字 SQL 语句是一种非常糟糕的做法,它的级别太低,无法在任何非平凡的应用程序中持续存在。

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

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

于 2012-12-30T00:52:12.690 回答