以下是我的代码片段
$query="SELECT cid,city_name FROM city_trade WHERE city_name LIKE '$num' OR pin='$num'";
$res=pg_query($query);
if (!$res) {
echo "Data Not found for this City"; exit;
}else{
$id=pg_fetch_assoc($res)['cid'];
$name=pg_fetch_assoc($res)['city_name'];
var_dump($id);
var_dump($name);
}
我得$name
NULL
而$id
是正确的。
成功执行查询后,为什么city_name
没有出现?
我们如何在不使用额外查询的情况下获取它?
答案 0 :(得分:2)
您只获得一个结果,但是您尝试从结果集中获取两行。您只需拨打pg_fetch_assoc()
一次即可获得结果集,然后就可以从那里访问所需的值:
// Get results of query in an associative array
$row = pg_fetch_assoc($res);
// Get each desired value
$id = $row['cid'];
$name = $row['city_name'];