我是PHP的新手,我不太明白这一点。
我想检查 PHP 文件中是否已经有作为输入的 ** $id 和作为输入列的 id ** 已经在数据库中,如果是的话。.然后应该更新所有其他值:经度、纬度、时间戳
这是我的代码:(只有重要的部分...
file_put_contents('dump.txt', "POST: n" . print_r($_POST, true) . "nnn GET: n" . print_r($_GET, true));
// Performing SQL query
if (isset($_GET['data'])) {
$data = json_decode($_GET['data'], true);
$id = $data['id'];
$latitude = $data['latitude'];
$longitude = $data['longitude'];
$timestamp = $data['timestamp'];
$query = sprintf("INSERT INTO locatie (id, longitude, latitude, timestamp) VALUES ('%s', '%s', '%s', '%s')", mysql_real_escape_string($id) , mysql_real_escape_string($longitude), mysql_real_escape_string($latitude), mysql_real_escape_string($timestamp)) ;
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
echo "OK";
// Free resultset
mysql_free_result($result);
}
这可以在单个 SQL 请求中完成。如果尚未创建id
字段,则需要在上创建一个UNIQUE
索引,然后按如下方式完成请求:
INSERT INTO locatie (id, longitude, latitude, timestamp)
VALUES ('%s', '%s', '%s', '%s')
ON DUPLICATE KEY UPDATE
longitude=VALUES(longitude),
latitude=VALUES(latitude),
timestamp=VALUES(timestamp)
逻辑将是这样的
$sql = mysql_query("select * from table_name where phonenumber = your_phone number");
if(mysql_num_rows($sql) > 0)
{
// your code for when phone number not present
}
else
{
// your update query.
}
这只是逻辑。使用 Mysqli
OR PDO
代替 mysql
first create sp like :
CREATE PROCEDURE `SP_name`(IN `par1` INT, IN `par2` INT, IN `par3` Decimal)
begin
declare Rec_Count int ;
Proc:
begin
select count(*) into Rec_Count from table UL where phoneno=par1;
if(Rec_Count <= 0) then
select '0' as success,'Phoneno is not found' as response;
leave Proc;
end if;
INSERT INTO locatie (col1,col2,...) VALUES (par1,par2,...);
select '1' as success,'data successfully inserted.' as response;
end ;
end
----------------
then your code is :
execute sp like from your code is :
$query="call sp_name(par1,par2,..);"
$result = mysql_query($query) or die('Query failed: ' . mysql_error());