我正在使用PHP和MySQL(V5.1)的事件日曆工作,其中admin將添加一個事件,然後爲該事件提供一個出席列表也會被創建。我有三個表格:活動,出席和成員。到目前爲止,我可以使用通過PHP表單輸入的信息創建事件。我試圖通過從剛剛創建的事件中插入事件ID來更新考勤表,以及從成員表中拉入成員列表(使用成員ID)。儘管如此,沒有什麼會被添加到參加表格。有人能讓我知道我應該做什麼不同嗎?使用LAST_INSERT_ID()和另一個表中的行在PHP/MySQL中的兩個插入
一些我使用表中的字段:
活動:EVENT_ID(主鍵,自動遞增),名稱,位置,日期
考勤:attendance_ID(主鍵,自動遞增),EVENT_ID, member_ID,參加
成員:member_ID(主鍵,自動遞增),姓名,電子郵件
enter code here
這裏是代碼:
mysql_query("SET AUTOCOMMIT=0");
mysql_query("START TRANSACTION");
$query1 = mysql_query("INSERT INTO events (name , location , date) VALUES ('".mysql_real_escape_string($name)."' , '".mysql_real_escape_string($location)."' , '".mysql_real_escape_string($date)."')");
$query2 = mysql_query("INSERT INTO attendance (event_ID , member_ID) SELECT LAST_INSERT_ID(), members.member_ID FROM members");
if ($query1 and $query2) {
mysql_query("COMMIT");
} else {
mysql_query("ROLLBACK");
}
謝謝大家。事實證明,我的代碼不工作的原因實際上完全在文件的不同部分(只是一個提示,如果你要創建一個頁面的副本來測試其他代碼,總是記得更新你的表單動作。哎呀)。爲了記錄,所有的建議將按照預期填充表格,就像我的原始代碼一樣。 &DSJ建議使用MySQLi並鎖定表格似乎是比我使用的更好的做法,所以我就這樣做了。 – 2013-02-18 12:31:10