0

私は周りを見回しましたが、何もうまくいかないようです。ボタンを押すと、データを1つのテーブル1に挿入し、テーブル3から値を取得して、IDが同じテーブル2に配置します。

        if ($movieTime != "") {
        $query = "SELECT SchedID FROM tblCinemaSched WHERE TheaterID='$tid' AND CinemaID='$cid' AND MovieDate='$date' AND MovieTime='$movieTime'";
        //echo "$query<br>";
        $result=$conn->executeUpdate($query);
        $numRows=$conn->numRows($result);
        if ($numRows<=0) {

            $query = "INSERT INTO tblCinemaSched SET TheaterID='$tid', CinemaID='$cid', MovieDate='$date', MovieTime='$movieTime', MovieID='$movieId', PriceAmt='$priceId', CrtBy='$username', CrtDate=NOW()";
            //echo "$query<br>";
            $result=$conn->executeUpdate($query);
            //get seat defaults from tblCSeats
            $query = "INSERT INTO tblSSeats SELECT TheaterID,  CinemaID, '$date', '$movieTime', SeatID, RowNo, ColumnNo, Handicap, Status, LeftSeat, RightSeat, NULL, NULL,NULL,NULL,NULL,NULL,NULL,'$username',NOW() FROM tblCSeats WHERE TheaterID='$tid' AND CinemaID='$cid'";
            //echo "$query<br>";
            $result=$conn->executeUpdate($query);

            $errorStr   = "Succesfully added schedule.";
        }
        else {
            $errorStr   = "There's already an existing schedule for the specified time.";
        }

tableCSeats に同じ ID を持つ行が複数あることがわかります。これは、tableCSeats から tableSSeats に複数のデータを挿入したいという意味です。tableSSeats にはまだデータがありません。

4

2 に答える 2

1

INSERT ... SELECT盲目的な推測では、ステートメントを探しているように見えます。

于 2012-05-16T07:50:49.307 に答える
0

クエリの戻り値を確認してください。「スケジュールが正常に追加されました」というメッセージが常に表示されます。クエリが成功したかどうかを確認しないためです。元:

if(!$result=$conn->executeUpdate($query)) {
    die('error');
}

またはそのようなもの。

于 2012-05-16T08:32:48.883 に答える