我在下面创建了一个非常简单的脚本,它假设要获取信息并将其插入到数据库中,但是当我这样做时没有任何反应,有什么可能会刺激它?我已尝试在网址中运行以下内容:
http://localhost/insert.php?title=test&body=lol&longitude=12&latitude=53&status=0
<?php
$db = new mysqli("localhost","test","test", "test");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if (isset($_GET['title']) && isset($_GET['body']) && isset($_GET['longitude']) && isset($_GET['latitude'])) {
$title = $_GET['title'];
$body = $_GET['body'];
$longitude = (float)$_GET['latitude'];
$latitude = (float)$_GET['latitude'];
$strSQL = $db->query("INSERT INTO camps (title, body, longitude, latitude, status) VALUES (`$title`, `$body`, `$longitude`,`$latitude`, 0)");
}
?>
答案 0 :(得分:1)
执行查询后应检查错误。
删除查询中值的后退标记,因为它们用于转义列名。您应该使用单引号:
$strSQL = $db->query("INSERT INTO camps (title, body, longitude, latitude, status) VALUES ('$title', '$body', '$longitude','$latitude', 0)");
但最好的解决方案是了解准备好的陈述。