我正在尝试创建一个酒店预订系统,但现在在将预订信息插入数据库时遇到问题。
if(isset($_POST['submit'])){
$c_username = $_POST['c_username'];
$r_name = $_POST['r_name'];
$checkin = $_POST['checkin'];
$checkout = $_POST['checkout'];
}
我只带了“c_username”、“r_name”、“checkin”、“checkout”来自 HTML 表单标记....c_id 和 r_id 应该从另外 2 个名为 cust_info 的数据库获取,其中 c_id 所在位置以及 r_id 所在的住宿。您可以从下面看到我已尝试获取它,如下所示。但是,当我尝试将数据插入数据库而不注释第二个和第三个查询时,不会插入任何数据,并且会返回错误
$query .= "VALUES ('$c_id', '$c_username', '$r_id', '$r_name', '$checkin', '$checkout')";
/*$query = "SELECT c.c_id, a.r_id FROM 'cust_info' c JOIN 'accomodation' a WHERE c_username LIKE '{$c_username}' AND r_name LIKE '{$r_name}'";*/
$query = "SELECT c_id FROM cust_info WHERE c_username LIKE '{$c_username}'";
$query = "SELECT r_id FROM accomodation WHERE r_name LIKE '{$r_name}'";
$query = "INSERT INTO reserve( c_id, c_username, r_id, r_name, checkin, checkout)";
$query .= "VALUES ( '$c_id', '$c_username', '$r_id', '$r_name', '$checkin', '$checkout' )";
$create_post_query = mysqli_query($con, $query);
当我将前三个查询更改为注释时,这就是我的代码目前的样子。程序可以插入“c_username”、“r_name”、“checkin”、“checkout”的数据进入数据库。
谢谢
最佳答案
希望这对你有帮助
$query = "SELECT c_id FROM cust_info WHERE c_username LIKE '{$c_username}'";
$query_res = mysqli_query($con, $query);
$c_id = mysqli_fetch_array($query_res);
$query2 = "SELECT r_id FROM accomodation WHERE r_name LIKE '{$r_name}'";
$query_res = mysqli_query($con, $query2);
$r_id= mysqli_fetch_array($query_res);
$query = "INSERT INTO reserve( c_id, c_username, r_id, r_name, checkin, checkout)";
$query .= " VALUES ( $c_id, $c_username, $r_id, $r_name, $checkin, $checkout )";
$create_post_query = mysqli_query($con, $query);
关于php - 从两个不同的表中获取数据并将其插入到一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43560174/