我想从数据库中选择查询。如果我写这段代码:
$selectOption = $_GET['name'];
echo $selectOption.'<br>';
$sql = "SELECT 'rpm' FROM sn WHERE power = '1s1s'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "rpm: " . $row["rpm"];
}
} else {
echo "0 results";
}
它显示了我正确的答案。否则,如果我写这个:
$sql = "SELECT 'rpm' FROM 'sn' WHERE 'power' = '$selectOption'";
它显示 0结果。任何纠正上述查询的建议?
答案 0 :(得分:1)
你需要做两件事,两者都在评论中说明: -
1.在查询中使用反引号(`),如下所示: -
$sql = "SELECT `rpm` FROM `sn` WHERE `power` = '$selectOption'";
2.从SQL注入中防止查询。为此使用准备好的声明。链接在评论部分给出。为了你的帮助,我把它放在我的答案中: - How can I prevent SQL injection in PHP?