如何在多查询完全执行后执行单个查询?

3pmvbmvn  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(316)

在php/mysql中完全执行多个查询之后,是否可以执行单个查询?实际上,我想在multi查询完全执行后在表中插入一条记录。

public function create_tables($data)
{

      $email = $data['email'];
      $name = $data['name'];
      $storepassword = $data['storepassword'];
      $created_date = date('Y/m/d H:i:s');

    // Connect to the database
    $mysqli = new mysqli($data['hostname'], $data['username'], $data['password'], $data['database']);

    // Check for errors
    if (mysqli_connect_errno()) {
        return false;
    }

    // Open the default SQL file
    $query = file_get_contents('assets/install.sql');

    // Execute a multi query
   $mysqli->multi_query($query);

   $insert = "INSERT INTO `users` (`fullname`, `email`, `password`, `role_id`, `outlet_id`, `created_user_id`, `created_datetime`, `updated_user_id`, `updated_datetime`, `status`) VALUES
    ('$name', '$email', '$storepassword', 1, 0, 1, '$created_date', 1, '$created_date', 1)";

$mysqli->query($insert);

    // Close the connection
    $mysqli->close();

    return true;
}
nzkunb0c

nzkunb0c1#

在mutli\u查询之后添加此项

while (mysqli->next_result()){
  //do nothing
}

这将导致执行在multi\u查询结果中循环,从而迫使脚本等待multi\u查询完全处理后再继续执行脚本的下一部分。
另一种方法是在multi\ u查询的末尾包含final查询,并将其作为multi\ u查询的一部分

相关问题