将多行插入单个mysql列

时间:2014-03-03 13:22:59

标签: php mysql sql

如果用户愿意,我有一个动态创建新字段的表单。我正在使用post来检索所有值。但是,我想在MySQL表的一个列中存储和显示所有这些值。

我所做的是创建一个数组来存储所有这些值。但是我收到了一个错误。这可能是我在做什么吗?

在数组中存储帖子值:

$person1english[]=array("$english1","$english2","$english3","$english4","$english5","$english6","$english7","$english8","$english9","$english10");

$connect=mysql_connect('localhost','root','');
$db=mysql_select_db('conversationmaker');
if($connect)
{
    $sql="insert into relation(english_atom) values('$person1english');
    $query=mysql_query($sql);
    if($query)
    {
        $sql="SELECT * FROM relation";
        $query=mysql_query($sql);
        if($query)
        {

            echo "<table border=1>";
            echo "<tr><th>English</th><th>Sanskrit</th></tr>";
            while($row=mysql_fetch_array($query))
            {               
                echo "<tr>";
                    echo "<td>".$row[1]."</td>";
                    echo "<td>".$row[2]."</td>";
                echo "</tr>";
            }
            echo "</table>";

        }
    }
  }
}

我只使用英语atm,因此您可以忽略您看到的第2行。

2 个答案:

答案 0 :(得分:0)

使用serialize()函数

$person1english[]=array("$english1","$english2","$english3","$english4","$english5","$english6","$english7","$english8","$english9","$english10");

$connect=mysql_connect('localhost','root','');
$db=mysql_select_db('conversationmaker');
if($connect)
{
   $sql="insert into relation(english_atom) values('".serialize($person1english)."')";

从DB

获取数据时使用uunserialize()

希望这有帮助。 感谢

答案 1 :(得分:-1)

Insert multiple rows with one query MySQL -

这是你的答案

或者你也可以迭代你的数组,即foreach