Ummm...you can *NOT* get the value of the newly created AUTO_INCREMENT value (the primary key) until *AFTER* the INSERT takes place!!!!
In other words *AFTER* you actually *EXECUTE* the insert query!
Code:
$sql_query = "insert into med_rec(med_name, med_type) values ('$name', '$type')";
mysql_query( $sql_query ) or die( mysql_error );
$pkey = mysql_insert_id();
$sql_query2 = "insert into medicine(med_rec_ID, expiry) values (". $pkey .",'$exp')";
mysql_query( $sql_query2 ) or die( mysql_error );
$pkey = mysql_insert_id();
$sql_query3 = "insert into inventory(staff_ID, med_ID, qty) values (".$_SESSION['id'].",". $pkey .", '$qty')";
mysql_query( $sql_query3 ) or die( mysql_error );