保存数组以分隔mySQL数据库中的行而不知道行数

时间:2013-10-09 04:00:43

标签: php mysql arrays web relational-database

我正在开发一个标签系统,允许用户在文章帖子中使用主题标签。我使用preg_match_all('/#([\p{L}\p{Mn}]+)/u',$t,$matches);对所有带有哈希标记的单词进行整理,将其读入数组。我需要做的是将每个散列标记的单词存储到mySQL数据库的一行中,以便可以搜索最常见的单词以构建一种趋势系统。

我在将数组存储到数据库中的不同行时遇到问题,我也很困惑如何在不知道需要多少行的情况下执行此操作,因为每篇文章都有不同数量的主题标签。任何帮助将不胜感激!

编辑 - 我想出了一个循环,但现在它继续读取数据字在我的数据库中, foreach($匹配为$ a => $ b){         $ query1 =“INSERT INTO hashtags(hashtags)VALUES('$ matches [$ a]');”;

$ q = mysql_query($ query1)或die('错误发布数据');

} 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这里我为sql中的插入行做了一些例子。

$t= "<b>example: </b><div align=left>this is a test</div>";

$matches = array();

preg_match_all('|<[^>]+>(.*)</[^>]+>|U',$t,$matches);
print_r($matches);

for ($i=0; $i<count($matches);$i++)
{
    for ($k=0; $k<count($matches[$i]);$k++)
    {
        $arrayKeyword[] = array($matches[$i][$k]);
    }
    $value = implode(",",$arrayKeyword);
    $sql = "Insert into <tablename> value (".$value.")";
}