iam试图让一个PHP函数从url中取出参数并将其插入到数据库中 我试图通过在url中输入“http://acstracking.com/dat.php?lat=0&lng=0”来检查它,但是没有插入发生什么可以是问题?从url获取参数
<?php
$Lat = $_GET['lat']; //Get Latitude Data
$Long = $_GET['lng']; // Get Longitude Data
$type = "restaurant"; //marker type
$name = "A.C.S"; //Name
$add= "Bahrain";
$dbName = "uobtrack_acstracking"; //Database name
$db = mysql_connect ("localhost","username", "password") or die("Unable To Connect "); //Connect to database
$test= mysql_select_db ($dbName,$db) or die("Unable to select database"); //Test Connection
$query = "INSERT INTO `uobtrack_acstracking`.`markers` (`name`, `address`, `lat`, `long`, `type`) VALUES ('$name', '$add', '$Lat', '$Long', '$type');"; //Insert Query
$Alpha = @mysql_query($query,$db); //Execute Query
if($Alpha)
echo "<br> insertion succeeded...";
else
echo "<br> insertion failed...";
mysql_close($db); //Close Connection
}
?>
看到的任何错误虽然不是说,但直接插入用户输入数据到数据库可能是一个很大的错误,我会建议使用PDO库适当的绑定,以便没有注册机会 – Neo
从@mysql_query中删除@以查看错误信息,同时使用echo mysql_errno($ db)。“:”。mysql_error($ db)。“\ n”;打印mysql错误 –
mysql- lib自PHP 5.5.0起弃用,所以最好使用mysqli(例如mysqli_query())。另外,当你直接使用用户输入时,你的查询对于SQL注入来说是多变的! 删除查询前面的@以获取调试错误消息。你检查类型的可兼容性吗?你输入所有的值作为字符串。如果将lat域定义为整数,可能会成为问题。 – newBee