<?php $daerah_ejen1 = "$_GET[daerah_ejen]";
$kumpulan_ejen1 ="$_GET[kumpulan_ejen]";
echo $daerah_ejen1;
echo $kumpulan_ejen1;
echo $kumpulan_ejen;
$sql= "SELECT * FROM data_ejen WHERE daerah_ejen= '$daerah_ejen1' AND kumpulan_ejen='Ketua Kampung' ORDER BY nama_ejen";
$result = mysql_query($sql) or @error_die("Query failed : $sql " . mysql_error());
?>
我的网址
laporan_kk_detail.php?daerah_ejen=HULU+LANGAT&kumpulan_ejen=Ketua Kampung
输出daerah_ejen
变量的已显示,
但是kumpulan_ejen
/ kumpulan_ejen1
不显示。
我不知道问题在哪里
答案 0 :(得分:3)
访问$ _GET变量的引号无效。试试这个
<?php
$daerah_ejen1 = $_GET["daerah_ejen"];
$kumpulan_ejen1 =$_GET["kumpulan_ejen"];
您应该阅读有关安全性的内容,因为您可以将恶意代码传递给您的脚本!
编辑://您可以查看此帖子https://stackoverflow.com/questions/19539692/sanitizing-user-input-php
答案 1 :(得分:3)
您正在使用双引号转换字符串中的get值,因此请删除并尝试
$daerah_ejen1 = $_GET['daerah_ejen'];
$kumpulan_ejen1 =$_GET['kumpulan_ejen'];
也使用mysql_real_escape_string()来阻止sql注入。
答案 2 :(得分:0)
如果您需要将$_GET['name']
放在双引号中,请将其包含在{}
括号中。
e.g。
$kumpulan_ejen1 ="{$_GET['kumpulan_ejen']}";
此外,正如dbh指出的那样,您只有$kumpulan_ejen1
,而不是kumpulan_ejen
。
答案 3 :(得分:0)
引号围绕参数名称。这是因为$_GET[]
是一个关联数组,其值使用字符串键
$daerah_ejen1 = $_GET['daerah_ejen'];
$kumpulan_ejen1 =$_GET['kumpulan_ejen'];
在查询中使用它们之前,请始终清理参数值,以防止SQL注入。
$daerah_ejen1 = mysqli::real_escape_string($daerah_ejen1)
答案 4 :(得分:0)
您的代码遇到2个问题:
第一是:
$daerah_ejen1 = "$_GET[daerah_ejen]";
$kumpulan_ejen1 ="$_GET[kumpulan_ejen]";
替换它:
$daerah_ejen1 = $_REQUEST['daerah_ejen'];
$kumpulan_ejen1 =$_REQUEST['kumpulan_ejen'];
第二是:
$sql= "SELECT * FROM data_ejen WHERE daerah_ejen= '$daerah_ejen1' AND kumpulan_ejen='Ketua Kampung' ORDER BY nama_ejen";
替换它:
$sql= "SELECT * FROM data_ejen WHERE daerah_ejen= '".$daerah_ejen1. "' AND kumpulan_ejen='Ketua Kampung' ORDER BY nama_ejen";