[英]Update values in a row if there is a same name in a column (with PHP in MySQL)
我有一个包含三列的数据库:ID,用户名,反馈我希望当用户名相同时更新反馈值。
我的php代码:
<?php
conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$value = $_POST['name'];
$value2 = $_POST['message'];
$sql = "INSERT INTO js (userName, feedback) VALUES('$value', '$value2');
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
};
$conn->close();
?>
如果要使用mysql,首先应在userName
列上定义一个唯一索引。
ALTER TABLE js
ADD CONSTRAINT u_userName UNIQUE (userName)
像这样编辑您的插入查询:
INSERT INTO js (userName, feedback) VALUES ('$value', '$value2')
ON DUPLICATE KEY UPDATE feedback=VALUES(feedback);
现在,如果mysql遇到重复的键冲突,则在用户名相等的行内,将更新反馈值。
或者,您在php中实现更新逻辑,并检测表中是否已经存在具有相同用户名的条目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.