将多个输入值插入一个数据库列

时间:2014-10-06 13:49:04

标签: php sql

我正在尝试将多个输入值插入一个表列。

我的代码如下:

<?php   $shot = $_POST['leadShot'];

foreach ($shot as $shotall) {
    $leadShot[] = implode(' - ', $shotall);
}

$name = mysql_real_escape_string($name);

mysql_query("INSERT INTO leaderboards (leadName,leadDate,leadScore,leadShot) VALUES ('$name','$date','$score','$shot')")or die(mysql_error()); ?>

然后我从代码中得到以下内容:

<li class="field"><h2>Hole 1</h2><input class="input" name="leadShot[]" id="leadShot[]" type="text" value="" size="103" /></li>
    <li class="field"><h2>Hole 2</h2><input class="input" name="leadShot[]" id="leadShot[]" type="text" value="" size="103" /></li>
    <li class="field"><h2>Hole 3</h2><input class="input" name="leadShot[]" id="leadShot[]" type="text" value="" size="103" /></li>
    <li class="field"><h2>Hole 4</h2><input class="input" name="leadShot[]" id="leadShot[]" type="text" value="" size="103" /></li>
    <li class="field"><h2>Hole 5</h2><input class="input" name="leadShot[]" id="leadShot[]" type="text" value="" size="103" /></li>
    <li class="field"><h2>Hole 6</h2><input class="input" name="leadShot[]" id="leadShot[]" type="text" value="" size="103" /></li>
    <li class="field"><h2>Hole 7</h2><input class="input" name="leadShot[]" id="leadShot[]" type="text" value="" size="103" /></li>
    <li class="field"><h2>Hole 8</h2><input class="input" name="leadShot[]" id="leadShot[]" type="text" value="" size="103" /></li>
    <li class="field"><h2>Hole 9</h2><input class="input" name="leadShot[]" id="leadShot[]" type="text" value="" size="103" /></li>

我希望能够将1-9孔插入一列?

2 个答案:

答案 0 :(得分:1)

  

删除foreach循环。   implode返回包含所有字符串表示形式的字符串   数组元素的顺序相同,每个元素之间都有胶水串   元件。

<?php   $shot = $_POST['leadShot'];
          $leadShot = implode(' - ', $shot);
          $name = mysql_real_escape_string($name);

             mysql_query("INSERT INTO leaderboards 
    (leadName,leadDate,leadScore,leadShot)
     VALUES ('$name','$date','$score','$leadShot')") or die(mysql_error()); ?>

答案 1 :(得分:0)

使用serialize(),它将该变量存储为数组:

$shot = serialize($leadShot);

检索时,只需将其反序列化即可。

Sidenote,使用mysqli而不是mysql函数。