我正在尝试将多个输入值插入一个表列。
我的代码如下:
<?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孔插入一列?
答案 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函数。