새 데이터를 사용할 수있을 때마다 MYSQL 데이터베이스의 이전 항목을 대체하려고하는데, 다음 PHP 코드가 있지만 매번 새 항목을 추가하는 것으로 보입니다. 도와주세요, 고마워요.MYSQL 데이터베이스의 항목을 새 항목으로 덮어 씁니다.
REPLACE를 사용해 보았지만 여전히 작동하지 않습니다. 누군가 내가 잘못하고 있다고 말할 수 있습니까?
<?php
header('Content-Type: application/json');
$data = json_decode(file_get_contents('php://input'), true);
$mysqli = new mysqli("localhost","dbuser","Pa55uu0Rd","iewdb");
if (mysqli_connect_errno())
{
echo json_encode(array('error' => 'Failed to connect to MySQL: ' . mysqli_connect_error()));
return;
}
if(!$data)
{
echo json_encode(array('error' => 'Error input data'));
return;
}
$usernme = $data['usernme'];
$longitude = $data['longitude'];
$latitude = $data['latitude'];
$user = $mysqli->query("SELECT id FROM Users WHERE usernme = '$usernme' LIMIT 1");
$user_id = $user->fetch_object();
if(!$user_id)
{
$mysqli->query("INSERT INTO Users (usernme) VALUES ('$usernme');");
$user_id->id = $mysqli->insert_id;
}
if($longitude && $latitude)
{
$mysqli->query("REPLACE INTO Locations (User_id,Longitude, Latitude) VALUES ($user_id->id,$longitude,$latitude);");
}
$mysqli->close();
echo json_encode(array('user_id' => $user_id->id));
주이다 (매우) – Strawberry
의미는'인'Locations' 테이블에 기본 키 또는 고유 인덱스 User_id'? 어쨌든'REPLACE' 대신에'UPDATE'를 사용하십시오. –