这些表是具有 A_ID(主键)的帐户、用户名、密码和具有 M_ID(主键)、消息、A_ID(外键)的消息
当有人发送消息时,我使用 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 表中到 Accounts 表的 A_ID PRIMARY KEY?
最佳答案
必须在 SQL 服务器上处理外键要求。您将需要设置一个外键约束。
插入变量很容易。
$MessageSQL = "INSERT INTO Messages (M_ID, Message, A_ID) VALUES ('', '".$Message."', '".$ResultAID['A_ID']."')";
关于php - 如何在另一个表中抓取主键并将其放入外键? PHP, MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40921461/