0

現在、オンライン予約システムを作成中です。

一度に複数のクエリを実行するにはどうすればよいですか?

私はすでに mysqli_muti_query を使用しています。実行するクエリが 3 つあります。

<?php
$sql = "INSERT INTO db (name,picuploc,lname,pnumber,age,email,address,city,zipcode,ticketid,pickuptime,dropofftime,dropoffloc,vehicle,plateno,totalprice,date_registered) VALUES ('$first','$pickuploc','$lname','$pnumber','$age','$email','$address','$city','$zip','$ticket','$pickup','$dropoff','$dropoffloc','$car','$plate','$all', NOW());";

$sql .= "UPDATE vehicles set quantity = quantity - $age WHERE vehicle = '$car' AND parent = '$ye' ";

$sql .= "UPDATE vehicles set status = '$un'  WHERE plateno = '$plate' "; ?>
4

3 に答える 3

0

各ステートメントの後にセミコロンを追加する必要があります。

<?php
$sql = "INSERT INTO db (name,picuploc,lname,pnumber,age,email,address,city,zipcode,ticketid,pickuptime,dropofftime,dropoffloc,vehicle,plateno,totalprice,date_registered) VALUES ('$first','$pickuploc','$lname','$pnumber','$age','$email','$address','$city','$zip','$ticket','$pickup','$dropoff','$dropoffloc','$car','$plate','$all', NOW());";

$sql .= "UPDATE vehicles set quantity = quantity - $age WHERE vehicle = '$car' AND parent = '$ye' ;";

$sql .= "UPDATE vehicles set status = '$un'  WHERE plateno = '$plate' ;"; 
于 2015-10-19T05:25:41.147 に答える
0

データベースでサポートされている場合は、クエリを個別に実行し、それらを 1 つのトランザクションにラップすることをお勧めします。

$conn->begin_transaction();
$sql = "INSERT INTO db (name,picuploc,lname,pnumber,age,email,address,city,zipcode,ticketid,pickuptime,dropofftime,dropoffloc,vehicle,plateno,totalprice,date_registered) VALUES ('$first','$pickuploc','$lname','$pnumber','$age','$email','$address','$city','$zip','$ticket','$pickup','$dropoff','$dropoffloc','$car','$plate','$all', NOW());";
$conn->query($sql);

$sql = "UPDATE vehicles set quantity = quantity - $age WHERE vehicle = '$car' AND parent = '$ye';";
$conn->query($sql);

$sql = "UPDATE vehicles set status = '$un'  WHERE plateno = '$plate';";
$conn->query($sql);

$conn->commit();

また、クエリ文字列に直接値を含めるのではなく、パラメーターを使用して準備済みステートメントを使用することもお勧めします。

于 2015-10-19T05:27:08.267 に答える
0

PHPmysqli_multi_query-関数を使用できます。

$sql = "INSERT INTO db (name,picuploc,lname,pnumber,age,email,address,city,zipcode,ticketid,pickuptime,dropofftime,dropoffloc,vehicle,plateno,totalprice,date_registered) VALUES ('$first','$pickuploc','$lname','$pnumber','$age','$email','$address','$city','$zip','$ticket','$pickup','$dropoff','$dropoffloc','$car','$plate','$all', NOW());";

$sql .= "UPDATE vehicles set quantity = quantity - $age WHERE vehicle = '$car' AND parent = '$ye' ;";

$sql .= "UPDATE vehicles set status = '$un'  WHERE plateno = '$plate' ;"; 

/* execute multi query */
if ($mysqli->multi_query($query)) {

}
于 2015-10-19T06:14:02.947 に答える