SQL
$rs = $do->query(
"SELECT
t.name as name,
tr.object_id as object_id
FROM wp_terms as t
JOIN wp_term_relationships as tr ON tr.term_taxonomy_id = t.term_id
JOIN blog as b ON b.url = tr.object_id "
);
UPDATE
while ($r = mysqli_fetch_array($rs)){
$key = '';
$key .= $r['name'];
$do->query(
"UPDATE `blog` SET
`tags` = '{$key}'
WHERE url = '{$r['object_id']}' "
);
}
根據數據表 t 和 tr 利用 tr.object_id 去 t 找對應的 t.name
數據庫結構:object_id / name
目的是我要更新到 數據表 blog 的 tags 字段中,並利用 , 間隔。而 tr.object_id 也等於是 b.url
blog as burl / tags
例如13421 這篇 blog,我想將他的所有 name 都丟到 b.tags 中,用 , 間隔
但現在發生的問題是,永遠都是最後一個被更新進去 b.tags !假設這篇 blog 找到了 a,b,c,d,e, ,當丟進去 b.tags 的時候就只有 e,這是咋了?
1 回答
Smart猫小萌
TA贡献1911条经验 获得超7个赞
你的while
,每执行一次都有将$key
置空并连接上$r['name']
,并且每次while
都有UPDATE
。
你要把$key=''
提到循环外。
我不知道你是怎么打算的的,照你的代码来看,你如果是a,b,c,d,e
五个,就会更新五次为a,
、a,b,
、a,b,c,
、a,b,c,d,
、a,b,c,d,e,
。如果你只想更新一次,你的UPDATE
也要提到循环外
- 1 回答
- 0 关注
- 270 浏览
添加回答
举报
0/150
提交
取消