php - 检查选择查询的结果然后与当前值比较如果可用则不应插入

标签 php mysql

我在地理定位 api 的帮助下将 latlong 保存到 mysql 数据库中,但问题是相同的 latlong 被插入到数据库中。我正在尝试检查我的 mysql 表的最后一行,然后与当前的 latlong 进行比较,如果两者相同,它应该不会被执行。请帮助我得到这个。提前致谢。

 $latitude   =   19.1579;
 $longitude  =   72.9935;
 $address  =   airoli;


$sql = "SELECT latitude FROM tracklatlong ORDER BY id DESC LIMIT 1";
$result = mysqli_query($sql, $conn);
$row = mysqli_fetch_array($result);

 $currentlat = $_row["latitude"];


 if($currentlat != $latitude){

 $query = "INSERT INTO `tracklatlong` (latitude, longitude,address) VALUES ('$latitude','$longitude','$address')";

     if($conn->query($query) === TRUE){
        echo "success";
    }
    else{
        echo "failed";
   }


 }

 else{


  echo"Already exists";


 }

最佳答案

据了解,您需要检查天气纬度或经度是否在 database Table 中,只有在发现错误时才插入它。

我正在使用带有 mysqli 准备语句的面向对象的 PHP。

仅当纬度和经度相同时,此代码才返回 false。 如果您希望输出返回 false 是任何一个匹配输出而不是在 SELECT 查询中添加 OR 运算符。

这是带数据的表格图片

tracklatlong table

这里是html代码:index.php

 <?php
    include('co_ordinate.php');
    $newcoordinate = new co_ordinate();
?>
<!DOCTYPE html>
<html>
<head>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
    <div class="col-md-6 col-md-offset-3" style="margin-top:100px;">
        <form action="" method="post">
            <div class="form-group">
                <i>Add Latitute</i>
                <input type="text" name="latitute" class="form-control">
            </div>

            <div class="form-group">
                <i>Add Longitute</i>
                <input type="text" name="longitute" class="form-control">
            </div>

            <div class="form-group">
                <input type="submit" name="addcoordinate" class="btn btn-primary">
            </div>
        </form>
        <?php
            if(isset($_POST['addcoordinate'])){
                $latitude = $_POST['latitute'];
                $longitute = $_POST['longitute'];

                $newcoordinate->getCo_ordinates($latitude,$longitute);
            }
        ?>
    </div>
</body>
</html>

这是类文件:co_ordinate.php

    <?php
    class co_ordinate{
        private $link;

        function __construct(){
            $this->link = new mysqli ('localhost','root','','example');
            if(mysqli_connect_errno()){
                die("connection Failed".mysqli_connect_errno());
            }
        }

        function getCo_ordinates($latitude,$longitute){
            $sql = $this->link->stmt_init();
            if($sql->prepare("SELECT latitude,longitude FROM tracklatlong WHERE latitude=? AND longitude= ?")){
                $sql->bind_param('dd',$latitude,$longitute);
                $sql->execute();
                $sql->store_result();
                if($sql->num_rows > 0){
                    echo "The Co-Ordinates Already Exists";
                }
                else
                {
                    $query = $this->link->stmt_init();
                    if($query->prepare("INSERT INTO tracklatlong (latitude,longitude) VALUES (?,?)")){
                        $query->bind_param('dd',$latitude,$longitute);
                        $query->execute();
                        echo "The Co-Ordinates Inserted Successfully";
                    }
                }
            }
            else
            {
                echo $this->link->error;
            }
        }
    }
?> 

关于php - 检查选择查询的结果然后与当前值比较如果可用则不应插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42203517/

相关文章:

php - 如果用户已经登录,则阻止用户登录

php - 无法通过 PHP 连接到 MySQL

php - 将日期从 PDO 传递到 MySQL 存储过程

php - 尝试上传大型 sql 文件时收到错误消息 : import. php:缺少参数:import_type

php - Datepicker dd/mm/yy php 和 mysql 错误

php - 在 php 变量中使用 html 中的 php include 函数

php - 仅当我在聊天应用程序中发送新消息或刷新页面时才会显示旧消息

java - 无法使用 java 连接到 godaddy MySQL

mysql - 如何更快地加载 vb.net Combobox

mysql - 根据产品过滤时输出不正确