簡體   English   中英

如何將主鍵放入另一個表的外鍵中? PHP,MySQL

[英]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,其中其用戶名=他們的用戶名,然后將其插入表中。

完整的代碼在下面的粘貼中,非常混亂,請原諒我。 我正在開發一個更清潔的版本,但是我必須首先獲得這一至關重要的部分。

http://pastebin.com/e3aqGerw

我真正被困的地方在這里

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM