每行单独用于语言和翻译

时间:2015-09-17 14:47:37

标签: php bulkinsert code-separation

我正在瑞典语 - 英语语言教育网站上工作。

在我的文章中有例句,我将这些单词输入textarea。它很容易将我的文本保存到数据库。但我想将我的文本插入一行,如

id -- swedish_text  --  english_text -- sort
 1 --  text_sw      --   text_en     --  1

目前我正在使用此样式进行插入

id -- example  -- sort
1  -- text1_sw -- 1
2  -- text1_en -- 2

Textarea导入循环;

$exWords = explode(PHP_EOL, $_POST['ex_words']);
foreach($exWords as $k=>$v){
     $myconn->query("INSERT INTO words SET example='" . $v . "',sort=". $k ."");
};

谢谢!

2 个答案:

答案 0 :(得分:0)

因此,您只想在每个数据库行中使用两个单独的列,您将修改架构以匹配您所需的结构。

设置数据时,只需使用正确的数据设置两列。

SET column1="x",column2="y"

小心注射,确保使用正确的逃逸,特别是如果用户可以提供此信息。

答案 1 :(得分:0)

我找到了解决方案;

# Example $_POST['ex_words'] Content
# Text swe1
# Text eng1
# Text swe2
# Text eng2

    $exWords = explode(PHP_EOL, $_POST['ex_words']);
    $exWords = array_chunk($exWords,2);

    foreach($exWords as $k=>$v){
        $exwData = array(
                            'word_id'=>$wordID,
                            'ex_word1'=>$v[0],
                            'ex_word2'=>$v[1],
                            'word_sort'=>$k
                        );
        $db->insert('exwords',$exwData);
    }

谢谢!