0

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

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

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

更新:该功能用于在用户向其他用户提交帖子时创建通知。从而允许将帖子插入到帖子表中并将通知插入到通知表中。

4

0 回答 0