【问题标题】:How to execute a single query once the multi-query is fully executed?多查询完全执行后如何执行单查询?
【发布时间】:2019-01-01 18:36:24
【问题描述】:

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

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

【问题讨论】:

    标签: php html mysql mysqli phpmyadmin


    【解决方案1】:

    在 mutli_query 之后添加这个

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

    这将导致执行循环遍历 multi_query 结果,从而迫使脚本等到 multi_query 完全处理后再继续执行脚本的下一部分。

    另一种方法是将最终查询包含在 multi_query 的末尾并作为 multi_query 的一部分

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-02
      • 1970-01-01
      • 2018-10-20
      • 1970-01-01
      • 2013-01-24
      • 1970-01-01
      相关资源
      最近更新 更多