最近、複数のテーブルへの書き込みについて質問しました:送信時に PHP/MySQL が複数のデータ テーブルに挿入されます。
このコードを試してみましたが、実際のコードではエラーは発生しませんでしたが、得られた結果は奇妙です。ユーザーが登録をクリックすると、この「insert.php」ページが呼び出され、コードが以下に表示されます。
<?php
$username = $_POST["username"];
$password = $_POST["password"];
$institution = $_POST["institution"];
$conn = pg_connect("database connection information"); //in reality this has been filled
$result = pg_query($conn, "INSERT INTO institutions (i_id, name) VALUES (null, '$institution') RETURNING i_id");
$insert_row = pg_fetch_row($result);
$insti_id = $insert_row[0];
// INSTITUTION SAVED AND HAS ITS OWN ID BUT NO MEMBER OF STAFF ID
$resultTwo = pg_query($conn, "INSERT INTO staff VALUES (NULL, '$username', '$password', '$insti_id'");
$insert_rowTwo = pg_fetch_row($resultTwo);
$user_id = $insert_rowTwo[0];
// USER SAVED WITH OWN ID AND COMPANY ID
// ASSIGN AN INSTITUTION TO A STAFF MEMBER IF THE STAFF'S $company_id MATCHES THAT OF THE
// INSTITUION IN QUESTION
$update = pg_query($conn, "UPDATE institutions SET u_id = '$user_id' WHERE i_id = '$insti_id'");
pg_close($conn);
?>
この結果、ブラウザはサーバーの応答を待っているだけですが、そこでは常に待機しています。私が想定している無限ループのようなものです。現時点でエラーは発生していないので、論理エラーが原因である可能性があります。何か案は?