Mysqli准备语句和交易多个插入

时间:2013-01-30 11:03:53

标签: php mysqli

这篇文章只是为了澄清我的代码是否有效编写。我需要多个表来在一个函数中插入值。由于这些值将通过用户提交,我使用Prepared语句以防止任何SQL注入(设置变量也在函数之前被有效清除)

public function the_name($var1, $var2)
{
  $mysqli->autocommit(FALSE);
  $stmt_one = $mysqli->prepare("Insert into TABLE SET $var1 = ?, $var2 = ? ");
  $stmt_two = $mysqli->prepare("Insert into TABLE SET $var1 = ?, $var2 = ? ");
  $stmt_one->bind_param('is',$var1,$var2);
  $stmt_two->bind_param('is',$var1,$var2);
  $stmt_one->execute();
  $stmt_two->execute();
  $mysqli->commit();
  $stmt_one->close();
  $stmt_two->close();
}

该函数工作正常,但这是将多个值插入两个不同的表的最佳方法吗?这个函数看起来很冗长......如果这实际上是用事务编写预准备语句的正确方法的任何澄清。

更新: 该功能用于在用户向同伴用户提交帖子时创建通知。因此,允许将帖子插入帖子表并通知通知表。

0 个答案:

没有答案