这是我的代码片段
$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
在查询成功执行后不来?
我们如何在不使用额外查询的情况下获取它?
您只获得一个结果,但您试图从结果集中获取两行。你只需要调用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'];