【发布时间】:2011-10-08 07:07:15
【问题描述】:
我将切换我在多个站点/项目中使用的数据库类,从使用自定义 mysql_query 方法*,到使用 PDO 和准备好的语句。不过,我首先有一个问题 - 我想在所有地方使用准备好的语句吗?即使在查询只会运行一次的地方?我需要执行以下操作的情况如何:
INSERT INTO `table` (`column`, `column`) VALUES ('value','value'), ('value','value'),('value','value'), etc.
我应该使用单个准备好的语句(和单个 VALUE),但每次使用不同的变量执行它,还是应该使用上面的样式?如果我在这里使用准备好的语句,我们所说的性能损失有多严重?在这种情况下我需要使用事务吗?
*我的 mysql_query 方法类似于准备好的语句,因为用户可以调用$mysql->Query("SELECT * FROM%sWHERE '%s'='%s'", $var, $var, $var),并且该方法自动转义所有带有mysql_real_escape_string 的内容。
【问题讨论】:
-
关于批量插入的问题,看看这个:PDO Prepared Inserts multiple rows in single query
标签: php mysql transactions pdo prepared-statement