我有以下SQL表:
+----------------+----------------+------------------+
| country | region | city |
+----------------+----------------+------------------+
| South Africa | KwaZulu-Natal | Durban |
| South Africa | Gauteng | Johannesburg |
| South Africa | Gauteng | Tshwane |
| South Africa | KwaZulu-Natal | Pietermaritzburg |
| United Kingdom | Greater London | City of London |
| United Kingdom | Greater London | Wimbledon |
+----------------+----------------+------------------+
我在PHP中的代码:
$result = $link -> query( "select * from city" );
$row = $result -> fetch_array();
echo $row['city'];
// Output: Durban
$row1 = $result -> fetch_array();
echo $row1['city'];
// Output: Johannesburg
当我尝试从一个结果中获取数组时,它将那些数组从其他变量中排除。这意味着如果我将1个表行提取到数组中并将其放入变量$ row中,则无法在代码中的其他任何地方使用它。很难解释,但出于循环目的我需要它。
所以我的问题是,是否有可能重置结果获取。这样上例中的两个输出都将是“ Durban”
预先感谢。
答案 0 :(得分:1)
如果您需要在同一脚本中多次使用查询结果,请先将所有结果卸载到本地数组中,然后根据需要多次使用该数组。
$result = $link -> query( "select * from city" );
$cities = $result->fetch_all(MYSQLI_ASSOC);
现在$cities
包含所有结果,您可以多次重复使用它。
echo $cities[0]['city']; // = Durban
或循环
foreach ($cities as $city){
echo $city['city'];
}
答案 1 :(得分:0)
$result->data_seek(0);