当用户输入数字并单击按钮时,我想将数据输入我的mysql数据库,但输入特定行。例如,如果用户登录后称为“用户”,则输入的数据将进入名为“ticket”的列,该列与用户名“user”位于同一行。
我已经为它编写代码进入数据库但是在新行中:
用户输入数据的页面代码:
<?php require('check.php')?>
<html>
<head>
<title><?php echo $row['username']; ?> Profile</title>
</head>
<body>
<p style="float: right"><a href="logout.php">LOG OUT</a></p>
<?php
include ('connect.php');
$user_id= $_SESSION['id'];
$sql = "SELECT username FROM user WHERE user_id = '$user_id'";
$result = mysql_query($sql) or die('Query failed. ' . mysql_error());
$uname = mysql_fetch_array($result);
$user_id= $_SESSION['id'];
$sql = "SELECT email FROM user WHERE user_id = '$user_id'";
$result = mysql_query($sql) or die('Query failed. ' . mysql_error());
$uemail = mysql_fetch_array($result);
echo "Hello" . " " . $uname['username'];
?>
<h1>Choose ticket Amount</h1>
<hr />
<form method="post" action="addticket.php">
<label for="elliegoulding">Ellie Goulding Ticket Amount: </label>
<input type="text" name="elliegoulding" max="3" maxlength="3" /><br />
<br />
<input type="submit" value="Add ticket"/>
<br />
<hr />
<div id="footer">
</div>
</form>
</body>
</html>
处理信息并添加到db的php页面代码:
<?php
$elliegoulding = $_REQUEST["elliegoulding"];
$linkme = mysql_connect("mysql.cms.gre.ac.uk","ta210","*****");
if (!$linkme)
die ("Could not connect to database");
mysql_select_db("mdb_ta210", $linkme);
$query = "INSERT INTO user (ticket) VALUES ('$elliegoulding, Ellie Goulding Tickets')";
mysql_query ($query, $linkme)
or die ("Ticket purchase failed.");
echo ("You have just bought $elliegoulding Ellie Goulding tickets");
mysql_close($linkme);
?>
就像我说的那样,上面的代码工作并将其输入到数据库中,但只是进入一个新行。 任何帮助或建议都会很棒。
答案 0 :(得分:2)
INSERT只会添加一个新行而你不想这样做。你需要更新一行。
......的一些事情:
$query = 'UPDATE user SET ticket="Ellie Goulding rocks!" WHERE username="'.$user.'"';
确保用户名是唯一的(数据库中不能包含2个“Pierre”,或者两个用户都会更新)。