此查询未返回任何结果,因为sql似乎存在问题。
$sql = "select region_description from $DB_Table where region_id='".$region_id."' and region_status =(1)";
$res = mysql_query($sql,$con) or die(mysql_error());
$result = "( ";
$row = mysql_fetch_array($res);
$result .= "\"" . $row["region_description"] . "\"";
while($row = mysql_fetch_array($res))
{
echo "<br /> In!";
$result .= " , \"" . $row["region_description"] . "\"";
}
$result .= " )";
mysql_close($con);
if ($result)
{
return $result;
}
else
{
return 0;
}
region_id作为1传递。
我在数据库中有一条符合查询条件的记录,但在执行时没有返回任何行。我相信这个问题就在这一部分,
region_id='".$region_id."'
所以在我的php中使用gettype函数时,事实证明region_id的数据类型是字符串而不是int,因此查询在我的tableis int中作为我的数据类型失败。什么是获取参数的方式被认为是在PHP中的int。在下面的网址
GetRegions.php?region_id=1
由于
答案 0 :(得分:0)
尝试在查询结束时删除;
。
答案 1 :(得分:0)
试试这个
$sql = "select region_description from $DB_Table where region_id=$region_id AND region_status = 1";
当您比较整数类型的字段时,不应使用单引号
使用此..它将起作用
$sql = "select region_description from " .$DB_Table. " where region_id=" .$region_id. " AND region_status = 1";
答案 2 :(得分:0)
首先 - 你的代码非常混乱。您将字符串中的变量与转义字符串混合,整数应该在没有'
的情况下传递。试试:
$sql = 'SELECT region_description FROM ' . $DB_Table . ' WHERE region_id = ' . $region_id . ' AND region_status = 1';
同样应删除;
。
答案 3 :(得分:0)
试试这样:
$sql = "SELECT region_description FROM $DB_Table WHERE region_id = $region_id AND region_status = 1"
region_id
列似乎是整数类型,请勿使用单引号进行比较。
答案 4 :(得分:-1)
您不需要区域ID周围的单引号,即
$sql = "SELECT region_description FROM $DB_Table WHERE region_id = $region_id AND region_status = 1"