dongwalun2507 2014-12-10 13:06
浏览 66
已采纳

使用新条目覆盖MYSQL数据库中的条目

I am trying to replace previous entries in MYSQL database each time new data is available, I have the following PHP code but it seems to add new entries each time. Please help, thanks.

I have tried using REPLACE but it still does not work, could anyone tell me what it is I am doing wrong?

<?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));
  • 写回答

3条回答 默认 最新

  • dongyuli4538 2014-12-10 13:13
    关注

    use update query something like this

    UPDATE MyTable
    SET User_id = 'USER_ID_VALUE', Longitude='LONGITUDE_VALUE', Latitude='LATITUDE_VALUE' 
    WHERE SomeOtherColumn LIKE '%PATTERN%'
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了