我正在尝试将标题列复制到数据库中的关键字列,因此将从标题中自动插入关键字。
http://store2.up-00.com/2015-06/1435609110941.png
我想在每个单词之前添加逗号','。
" It's my first program "
它会变成
" It's, my, first, program, "
这是我写的代码。
<?php
// $id =mysql_insert_id;
$select_posts = mysql_query("SELECT * FROM `posts`");
while($row = mysql_fetch_array($select_posts)){
$id = $row['post_id'];
$text = $row['post_title'];
$delim = ' \n\t,.!?:;';
$tok = strtok($text, $delim);
while ( $tok !== false){
echo $tok1 = $tok.',';
mysql_query("UPDATE `posts` SET `post_keywords` = '$tok1' WHERE `post_id` = $id ");
$tok = strtok($delim);
}
}
?>
它在每个标题列中插入最后一个单词,因为单词被while循环覆盖。
请帮帮我。
答案 0 :(得分:1)
Concat值:
... SET post_keywords = CONCAT(post_keywords, '$tok1')
并注意您易受sql injection attacks攻击。仅仅因为数据库中出现的$ tok1值并不意味着在查询中重新安全...
答案 1 :(得分:0)
您可以使用一个查询执行此操作:
UPDATE `posts` SET post_keywords = REPLACE(post_title, ' ', ',');