2014-03-03 3 views
0

У меня есть форма, которая динамически создает новые поля, если пользователь хочет. Я использую сообщение, чтобы получить все значения. Однако я хочу хранить и отображать все эти значения в одном столбце в таблице MySQL.Вставить несколько строк в один столбец 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>"; 

     } 
    } 
    } 
} 

Я только работаю с английской атм, так что вы можете игнорировать строку 2, что вы видите.

+1

Ваш запрос 'insert' не закрыт. Какая ошибка вы получаете кстати? –

+1

«Вставить несколько строк в столбец» звучит как всевозможные ошибки. http://en.wikipedia.org/wiki/Third_normal_form –

+0

Я знаю, что это не очень хорошая практика, читая некоторые другие сообщения. Но что я пытаюсь сделать, это единственный способ сделать это. Я также новичок в php. – user3242593

ответ

0

Использование сериализации() функция

$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)."')"; 

использование uunserialize() при выборке данных из БД

Надежда эта помощь. Благодаря

+0

Я продолжаю получать эту ошибку: Ошибка анализа: ошибка синтаксиса, неожиданный ',' в \t $ person1english [] = («$ english1», «$ english2», «$ english3», «$ english4», «$ english5», "$ english6", "$ english7", "$ english8", "$ english9", "$ english10"); – user3242593

-1

Insert multiple rows with one query MySQL -

вот ваш ответ

ИЛИ вы можете также перебирать массиве, то есть с foreach.

+0

Он хочет вставить элементы массива внутри одного столбца, а не несколько строк. Если бы я понял его. –

Смежные вопросы