值没有插入数据库?

0 php mysql

<?php
include 'config.php';
$lat=$_GET["latitudee"];
$lon=$_GET["longitude"];
$sql="INSERT INTO coordinates(latitude,longitude)
      VALUES ('$_POST[$lat]','$_POST[$lon]')";
       if (!mysqli_query($con,$sql))
        {
       die('Error: ' . mysqli_error($con));
        }
      echo "1 record added";
  ?>
Run Code Online (Sandbox Code Playgroud)

这是我在我的数据库中的表:

CREATE TABLE IF NOT EXISTS `coordinates` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `latitude` float NOT NULL,
  `longitude` float NOT NULL,
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
Run Code Online (Sandbox Code Playgroud)

http://localhost.com/input.php?latitudee=3.14159&longitude=4.14159

值未插入.问题是什么?

DS9*_*DS9 5

试试这个:

$sql="INSERT INTO coordinates(latitude,longitude)
VALUES
('$lat','$lon')";
Run Code Online (Sandbox Code Playgroud)

因为你存储了变量值,如下所示:

$lat=$_GET["latitudee"];
$lon=$_GET["longitude"];
Run Code Online (Sandbox Code Playgroud)

在你的查询中你写这个:
$_POST[$lat]','$_POST[$lon]所以改变它就像我建议的那样.

旁注:确保使用的是哪种方法:POST or GET以及escape防止sql注入的变量.

阅读:如何在PHP中阻止SQL注入?