$ userid = mysqli_real_escape_string($ link、$ _SESSION ['user'] [0]); $ lastid = mysqli_insert_id($ link);mysqli_multi_queryは最初のクエリのみを実行しますが、不足していると思われるものは何ですか?
mysqli_autocommit($link, FALSE);
//make the string
$sql = "INSERT INTO district (DistID, Dist, UserID) VALUES(NULL, '".$dist->getDist()."', '".$userid."');";
$sql .= "INSERT INTO lok (LocID, Loc, DistID) VALUES(NULL, '".$loc->getLokal()."','".$lastid."');";
$sql .= "INSERT INTO schedule (SchedID, Mon, LocID)
VALUES(NULL, '".$sched->getMon()."', '".$lastid."')";
// execute query
if ($result = mysqli_multi_query($link, $sql)){
do {
if ($result = mysqli_use_result($link)) {
while ($row = mysqli_fetch_row($result)) {
}
mysqli_free_result($result);
}
} while (mysqli_next_result($link));
mysqli_commit($link);
}
else
{
mysqli_rollback($link);
}
mysqli_close($link);
私は自分のコードを変更してmysqli_use_resultを使用しましたが、それでも私には同じ結果が得られます。データベースをチェックすると、最初のクエリだけが実行されました。 – joel