Php 使用2个mysql查询从1个html表单更新2个表
我正在尝试使用1个表单更新数据库中的2个表。在执行查询之前,会发生一些事情:Php 使用2个mysql查询从1个html表单更新2个表,php,mysql,Php,Mysql,我正在尝试使用1个表单更新数据库中的2个表。在执行查询之前,会发生一些事情: 使用其phoneNum搜索customers表以查看它们是否存在 如果存在匹配项,它将使用customer表中的名称、地址、phoneNum填充预订表单。如果没有匹配项,则表单字段保持为空 点击提交,预订表单中的值将发布到addbooking.php addbooking.php中的第一个查询要么插入新客户(如果在以前的搜索中没有匹配的客户),要么更新现有记录(如果有匹配的客户) 第二个查询应使用相同的值将记录添加到作
$query1 = "INSERT INTO customer (customerId, name, address, phoneNum)" .
"VALUES ( '$customerId','$name', '$address', '$phoneNum')" .
"ON DUPLICATE KEY UPDATE name='$name', address='$address', phoneNum='$phoneNum'";
$result = mysqli_query($dbc, $query1)
or die('Error adding new customer.');
//edit as per Jessica
$customerId = mysqli_insert_id($dbc);
$query2 = "INSERT INTO job (jobType, carType, customerId, phoneNum, name, address, destAdd, bookingDate, BookingTime)" .
"VALUES ('$jobType', '$carType', '$customerId', '$phoneNum', '$name', '$address', '$destAdd', '$bookingDate', '$bookingTime')";
$result = mysqli_query($dbc, $query2)
or die('Error adding booking.');
PS:你到底为什么在查询中插入原始数据而不是使用参数 他正在使用mysqli,这就是为什么不使用parameters.Oops是如此愚蠢。我错了。我以为他在用MySQL。哈哈+1不管怎样。@Jessica,谢谢你现在起作用的帮助。我是MySQL的新手,所以我在上面使用的方法是我在大多数书籍中找到的方法。如果有更好的方法,我愿意修改代码。。正如评论中提到的,我确实改变了其中的一部分,以使用MySQLi。因此,下一步是使用准备好的语句:@Jessica,我测试了原始问题,如上所述,您的代码修复了它,但如果客户已经存在,则第二个查询将不会运行,这意味着它不能反向工作。这是因为您的行更改了customerID,因此不再传递有效值?现在有没有办法解决这两个问题,或者我是否错误地使用了您的代码?非常感谢,伊欧。
$customerId = mysqli_insert_id($dbc);