优化我的PHP代码

时间:2014-09-10 06:14:14

标签: php mysql wordpress

我正在尝试使用PHP在Db中插入多个记录。我的问题是我已经将$ sql_insert_usermeta3写入$ sql_insert_usermeta20所以差不多有20条SQL语句。请检查我的代码。是否有任何优化的方式来插入数据

mysqli_query($connect,$sql_insert_users);

  $SQL_LATEST_REF_ID="select LAST_INSERT_ID() as lastid";
  $RSO = mysqli_query($connect,$SQL_LATEST_REF_ID);
  while($rsso = mysqli_fetch_array($RSO))
  {
  $lastuserid=$rsso['lastid'];
  }      


       $sql_insert_usermeta1 = "INSERT INTO `wp_usermeta` (`user_id`, `meta_key`, `meta_value`) VALUES ('$lastuserid', 'first_name', '')";
        mysqli_query($connect,$sql_insert_usermeta1); 

     $sql_insert_usermeta2 = "INSERT INTO `wp_usermeta` (`user_id`, `meta_key`, `meta_value`) VALUES ('$lastuserid', 'last_name', '')";
        mysqli_query($connect,$sql_insert_usermeta2); 

  $sql_insert_usermeta3 = "INSERT INTO `wp_usermeta` (`user_id`, `meta_key`, `meta_value`) VALUES ('$lastuserid', 'nickname', '$email')";
        mysqli_query($connect,$sql_insert_usermeta3);

2 个答案:

答案 0 :(得分:4)

您可以将多个INSERT语句合并到一个查询中,如下所示:

INSERT INTO Table (fieldA, fieldB) VALUES
                  (valueA1, valueB1),
                  (valueA2, valueB2),
                  (valueA3, valueB3),
                  (valueA4, valueB4);

这将同时插入4行,也是从MySQL的角度来看,所以使用适当的统一锁定等。

答案 1 :(得分:1)

由于使用相同的表和相同的列,您可以将所有插入添加到同一查询:

INSERT INTO `wp_usermeta` (`user_id`, `meta_key`, `meta_value`) VALUES
('$lastuserid', 'first_name', ''),
('$lastuserid', 'last_name', ''),
('$lastuserid', 'nickname', '$email');