例如我使用
$building_name = $_POST['BuildingName'];
$metering_type = $_POST['MeteringType'];
$query = "INSERT INTO buildings (BuildingName, MeteringType)
VALUES ('$building_name', '$metering_type')";
if(mysqli_query($link, $query))
{
echo json_encode(Array("success"=>true));
}
我相信这可以防止我进行SQL注入。我安全吗?
答案 0 :(得分:5)
不,这丝毫不能保护你。
答案 1 :(得分:2)
在许多情况下,即使是准备好的陈述也不够或极其辛苦 例如,您无法准备标识符。
因此,最好使用一些智能库而不是原始API,以使您的代码 安全且简短:
$sql = "INSERT INTO buildings (BuildingName, MeteringType) VALUES (?s, ?s)";
$res = $db->mysqli_query($sql, $_POST['BuildingName'], $_POST['MeteringType']);
if(res)
{
echo json_encode(Array("success"=>true));
}
但如果你仍然想坚持使用原始API - 最好选择PDO而不是mysqli。它会为你节省大量的麻烦。