gpt4 book ai didi

php - 插入表或更新 php 中的重复键错误

转载 作者:行者123 更新时间:2023-11-29 11:24:25 25 4
gpt4 key购买 nike

我在查询语句中的代码出现语法错误,但我无法弄清楚原因。我有id, token, gpslat, gpslong作为我的表格列。如果 token 名称相同,我想更新记录,否则插入。我收到错误。以下是我的 PHP 代码。

<?php

header('Content-Type: application/json');

$token = $_GET['token'];
$gps = $_GET['gps'];
$date = $_GET['gpslat'];
$uname;

$newlogin=FALSE;
$json;$idx;
include("dbsave.php");

$sql = "INSERT INTO whosonline (token,gpslat,gpslong) VALUES ('$token', '$date', '$gps') ON DUPLICATE KEY gpslat='$date',gpslong='$gps'";

if ($conn->query($sql) === TRUE) {
// echo "New record created successfully";
$newlogin=TRUE;
$idx= mysqli_insert_id($conn);

$sql = "SELECT * FROM tokentable WHERE token='$token'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$uname = $row["username"];
}
} else {
$newlogin=FALSE;

}


} else {
echo "Error: " . $sql . "<br>" . $conn->error;
$newlogin=FALSE;
}

我收到错误:Error: INSERT INTO whosonline (token,gpslat,gpslong) VALUES ('{3CAD0B79-41DA-2CFC-9A9A-644B3E1A93C7}', '11.1241', '101.21020') ON DUPLICATE KEY gpslat='11.1241',gpslong='101.21020'<br>You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'gpslat='11.1241',gpslong='101.21020'' at line 1{"status":0,"msg":{"msg":"Error adding user!"}}

最佳答案

您忘记了查询的 ON DUPLICATE KEY 部分中的 UPDATE 关键字:

$sql = "INSERT INTO whosonline (token,gpslat,gpslong) VALUES ('$token', 
'$date', '$gps') ON DUPLICATE KEY UPDATE gpslat='$date',gpslong='$gps'";

关于php - 插入表或更新 php 中的重复键错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38470431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com