ON DUPLICATE KEY UPDATE - 不更新

时间:2014-09-06 21:39:50

标签: php mysql mysqli duplicates

我的代码没有更新现有计算机数据的问题。如果我删除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");

?>

1 个答案:

答案 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);