간호사가 환자 시스템에 로그인하면 그녀에 대한 세부 정보가 세션 변수에 저장됩니다 (그녀의 사용자 ID 포함). 간호사가 새 환자를 등록 할 때 ID가 사용자 테이블의 수퍼 열에 저장되도록 등록 스크립트를 만들었습니다. 이것은 환자가 그녀에게만 할당 될 수 있도록하기 위해서입니다.mysql 테이블과 last_insert_id 함수에 세션 데이터 저장
문제는 insert 문을 실행할 때 값 0이 간호사의 사용자 ID 대신 슈퍼 사용자 열에 저장된다는 것입니다. 어떻게이 문제를 해결할 수 있습니까?
사용자 프로필이 있고 사용자 테이블에 연결되는 프로필 테이블이 있습니다. 첫 번째 insert 문을 사용하여 사용자 테이블에 레코드를 만들었습니다. 두 번째 명령문에서 프로파일 ID가 새로 작성된 user_id와 동일한 프로파일 테이블에 레코드를 작성하기를 원합니다. LAST_INSERT_ID()
함수를 사용하려하지만 마지막 ID가 아닌 0을 저장하고 있습니다.
문제의 특정 부분에 대한 내 코드는 다음과 같습니다. 포맷이 올바르지 않다면 유감입니다. 나는 화면 판독기를 사용하고 있으며이 웹 사이트의 서식 옵션은 나에게 매우 접근하기 어렵다.
$ _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