我的代码没有更新现有计算机数据的问题。如果我删除ON复制部分代码工作正常并添加数据。我已将计算机作为我的xampp数据库中的唯一密钥。任何帮助将不胜感激。
<?php
$receive = htmlspecialchars($_POST['time']);
list($length, $status, $computer) = split(":", $receive, 3);
include('connection.php');
mysqli_query($dbc, "INSERT INTO screen(computer,status,length)
VALUES('$computer','$status','$length')
ON DUPLICATE KEY UPDATE
status=$status, length=$length");
?>
答案 0 :(得分:0)
创建SQL语句的更好模式,可以缓解一些常见的SQL注入漏洞。另请注意,如果插入成功,则可以使用特殊VALUES()
函数来引用为列插入的值。
$sql = "INSERT INTO screen(computer,status,length)
VALUES('"
. mysqli_real_escape_string($dbc,$computer)
. "','"
. mysqli_real_escape_string($dbc,$status)
. "','"
. mysqli_real_escape_string($dbc,$length)
. "')
ON DUPLICATE KEY UPDATE
status=VALUES(status), length=VALUES(length)";
mysqli_query($dbc,$sql);