當護士登錄到患者系統時,關於她的詳細信息存儲在會話變量中 - 包括她的用戶標識。我創建了一個註冊腳本,以便當護士註冊一名新患者時,她的ID存儲在用戶表的超級列中。這樣病人才可以分配給她。將會話數據存儲到mysql表和last_insert_id函數
的問題是,當我運行的INSERT語句,值0被存儲在超級用戶列,而不是護士的用戶ID。這怎麼解決?
我有了用戶的輪廓的輪廓表,並將其鏈接到用戶表。我已經使用第一個插入語句在用戶表中創建記錄。我希望第二條語句在配置文件表中創建一個記錄,配置文件ID與新創建的user_id相同。我試圖使用LAST_INSERT_ID()
函數,但它也是存儲0而不是最後一個id。
這是我的代碼圍繞特定部分的問題。如果格式不正確,我很抱歉。我正在使用屏幕閱讀器和本網站上的格式化選項,這對我來說是無法訪問的。
我已經將表單數據從$ _post存儲到下面使用的所有變量中。
$SuperUser = $_SESSION['SuperUser'];
//insert query for user table
$UserInsert = "insert into user
(User_id,
Username,
Password,
User_level,
SuperUser)
values(null,
'$Username',
'$Password',
'1',
'$SuperUser')";
//run query for inserting data for user table
mysql_query($UserInsert) or die("cannot insert into user");
//Select the last increment id from user table
$LastIdQuery = "Select LAST_INSERT_ID()";
$LastId = mysql_query($LastIdQuery) or die("Cannot select last id");
//insert query for profile table
$ProfileInsert = "insert into profile
(User_id,
FirstName,
LastName,
Dob,
NI_Number,
NHS_Number,
Address1,
Address2,
Town,
Postcode,
Email,
Contact_Number,
Comments)
values('$LastId',
'$FirstName',
'$LastName',
'$DobYear-$DobMonth-$DobDay',
'$NI_Number',
'$NHS_Number',
'$Address1',
'$Address2',
'$Town',
'$Postcode',
'$Email',
'$Contact_Number',
'$Comments')";
//insert into profile
mysql_query($ProfileInsert) or die("Unable to insert in profile");
mysql_close();
我的眼睛都在流血 – zerkms