PDO返回单个结果,如何从1列多行返回不同的记录

时间:2017-06-20 06:53:56

标签: php mysql pdo

我正在从我的数据库制作自定义Sitemap,并坚持使用以下问题

SQL查询:

var express = require('express');
var app = new express();

app.get('/', function(req, res, next) {
    if(true) {  //group check
       res.redirect('admin');
    } else {
       res.redirect('viewer')
    }
});

app.use('/admin', function(req, res, next) {
    res.send('admin')
});

app.use('/viewer', function(req, res, next) {
    res.send('viewer')
});

app.listen(3000);

查询输出

SELECT term_id FROM wp_term_taxonomy WHERE taxonomy="product-cat" || taxonomy="product-brand"

它返回我数据库中的所有term_id,通过该数据库我从另一个表中收集类别slug来制作站点地图URL。下面是代码,它可以正常工作(站点地图输出),但不幸的是我无法提取下一行term_id &它会向我显示始终相同的 term_id '相同的网址'

我的站点地图输出

=========
 term_id
=========
|  365   |
|  369   |
|  370   |

我的代码

<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<url>
<loc>
http://example.com/search-page/?product-cat=mobiles-tablets 365
</loc>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>
http://example.com/search-page/?product-cat=mobiles-tablets 365
</loc>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
</urlset>

我需要什么?

我想提取下一行term_id(理想情况,如果它基于循环[0,1,2]),现在它只显示 term_id = 365 的结果

1 个答案:

答案 0 :(得分:0)

您需要使用fetchAll()来获取所有记录。要获取单个对象,您可以使用Fetch()

参见下面的示例。

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);