已解决:只需使用fetchAll而不是fetch
我有一个简单的SQL查询,可以在phpmyadmin中运行,但在php中我只返回第一行。该表有很多行,因为它是世界表中的城市(大约44.000行)。
function getAllCities(){
include 'db.php';
$response = json_decode('{"status":"error"}');
if(isset($_SESSION['user'])) {
$query = $conn->prepare("SELECT * FROM cities_countries");
$query->execute();
$result = $query->fetch(PDO::FETCH_ASSOC);
$response->status = "success";
$response->cities = $result;
}
echo json_encode($response);
}
这是返回的内容:
{
status: "success",
cities: {
id: "1",
name: "Bombuflat, India"
}
}
如上所述,如果我在phpmyadmin中运行查询,我会得到所有结果。
我做错了什么?
答案 0 :(得分:1)
如果要输出所有结果,应使用fetchAll方法
weird_list = [(u'I', u'O'), (u'met', u'O'), (u'with', u'O'), (u'Alan', u'PERSON'), (u'yesterday', u'O')]
for item in weird_list:
if 'PERSON' in item:
print item[0] #will return item number 1 of the tuple
中查找更多详细信息和选项