在数据库中我已经有了这个:
id | username | password
=========================
3 | John | happy
同一个用户注册一个id为3的帐户存储在PHP会话中。我想将id为3的另一行存储到数据库中。
输出将是这样的:
id | username | password
=========================
3 | John | happy
3 | Emily | sad
到目前为止,我得到了这个:
abc.php
$result = mysql_query("SELECT id FROM account WHERE username='".$username."' LIMIT 1") or die(mysql_error);
while ($row = mysql_fetch_assoc($result))
{
$_SESSION['id'] = $row['id'] ;
}
<input type="hidden" name="custom" value="<?php echo $_SESSION['id'];?>">
cba.php
$id = $_POST['custom'];
mysql_query("INSERT INTO user (id, username, password) VALUES('".$id."', '".$username."', '".$password."')") or die(mysql_error());
我尝试使用id为3的会话并尝试插入数据库但未插入任何内容。
答案 0 :(得分:0)
非常好奇为什么要这样做。任何人,你可以尝试类似的东西:
$sql = "INSERT INTO user (id, username, password)
SELECT MAX(id), '" . $username . "', '" . $password . "' FROM user";
希望您也不要以纯文本格式存储密码。
答案 1 :(得分:0)
您要做的是拥有相同的“两个独特”值。它无法完成。否则,这些值不再是唯一的。
要回答您的问题,如果您要存储值的字段不是强制唯一性的字段,那么应该执行简单的插入操作。除非您想从数据库中获取值并进行重复。很难弄清楚你想要什么。但只是尝试插入一个你知道的值已经在现场。如果它不是唯一的或主要的领域,它将起作用。
答案 2 :(得分:0)
我认为您需要更新查询。由于id已经存在(用户注册为会话具有id),您需要使用新的详细信息更新现有用户的信息。