使用some.php?id=$id
我有一个名为tb_syarat_layanan
的表。当我尝试获取JSON时,数组未显示任何数据。
<?php
//Importing database
require_once('koneksi.php');
$query = "select * from tb_syarat_layanan WHERE id_layan=$id";
$hasil = mysqli_query($con,$query);
if(mysqli_num_rows($hasil) > 0 )
{
$response = array();
$response["data"] = array();
while($x = mysqli_fetch_array($hasil))
{
$h['id_layan'] = $x["id_layan"];
$h['dokumen'] = $x["dokumen"];
array_push($response["data"], $h);
}
echo json_encode($response);
}
else
{
$response["message"] = "No Data";
echo json_encode($response);
}
?>
但是当我这样设置$ query时:
$query = "select * from tb_syarat_layanan WHERE id_layan=1";
它显示我想要的数据
当使用变量$id
设置$ query时,JSON不显示数据
答案 0 :(得分:2)
问题在于您如何从URL获取ID。通过查询字符串发送的数据存储在$_GET
内部$id = $_GET['id'];
$query = "SELECT * FROM tb_syarat_layanan WHERE id_layan = $id";
答案 1 :(得分:1)
假设您的URL中有some.php?id = 1。您需要一种从查询字符串获取该id参数的方法。在PHP中,可以使用$_GET
超全局变量轻松完成此操作。 $_GET
允许您访问查询字符串中传递的值。
因此,在您的代码中,您可以执行以下操作:
$id = $_GET['id'];
最佳做法是转义查询字符串中传递的所有输入:
$id = htmlspecialchars($_GET['id']);
但是,如果您没有在页面上任何可以执行的地方输出该输入,并且以后也不存储查询参数以供输出,那么这应该不是问题。唯一真正的危险是SQL注入。避免这种情况的最佳方法是使用准备好的语句。参见https://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php