[英]How Do I Grab And Put Primary Key Into Foreign Key In Another Table? PHP, MySQL
這些表是具有A_ID(PRIMARY KEY),用戶名,密碼的帳戶以及具有M_ID(PRIMARY KEY),消息,A_ID(FOREIGN KEY)的消息
當某人發送消息時,我正在使用SELECT語句獲取該人的A_ID,其中其用戶名=他們的用戶名,然后將其插入表中。
完整的代碼在下面的粘貼中,非常混亂,請原諒我。 我正在開發一個更清潔的版本,但是我必須首先獲得這一至關重要的部分。
我真正被困的地方在這里
if (isset($_POST['SendMessage'])) {
$GetAID = "SELECT A_ID FROM Accounts WHERE Username='$CookieValue'";
$ResultAID = $Connect->query($GetAID);
echo $ResultAID;
$Message = htmlspecialchars($_POST['Message']);
$MessageSQL = "INSERT INTO Messages (M_ID, Message, A_ID) VALUES ('', '$Message', '$ResultAID')";
if ($Connect->query($MessageSQL) === TRUE) {
echo "Message Sent<BR/>";
} else {
echo "Error Sending Message<BR/>";
}
}
我的問題是如何將A_ID放入變量中,然后將其作為帳戶表的FOREIGN KEY插入到Messages表中,作為A_ID PRIMARY KEY?
外鍵要求必須在SQL Server上處理。 您將需要設置外鍵約束。
插入變量很容易。
$MessageSQL = "INSERT INTO Messages (M_ID, Message, A_ID) VALUES ('', '".$Message."', '".$ResultAID['A_ID']."')";
$SQL = "INSERT INTO Accounts (A_ID, Username, Password) VALUES ('', '$Username', '$PasswordHash')";
$Result = mysqli_query($Connect, $SQL);
$GET_last_ID = mysqli_insert_id($con);
$MessageSQL = "INSERT INTO Messages (M_ID, Message, A_ID) VALUES ('', '$Message', '$GET_last_ID')";
只需添加$GET_last_ID = mysqli_insert_id($Connect);
在mysqli_query
下面,將變量$GET_last_ID
插入到下表中。 就像你在上面看到的一樣。 代碼$GET_last_ID = mysqli_insert_id($Connect);
將獲得插入的腳趾的主鍵ID。
希望這對你有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.