我正在尝试将一个数组插入到MYSQL数据库中的单独行中。
基本上,我想在一个字段中输入前5个列表的HTML表单,但每个值都用逗号分隔。所以,例如(艺术家1,艺术家2,艺术家3等)
然后必须将这5个值分成5个值,然后在MYSQL数据库中插入5行。
因此HTML表单如下所示:
<tr>
<td>Loud Rock</td>
<td><label for="lr_topfive"><input type="text" placeholder="" name="lr_topfive" size="75"
maxlength="100" autofucus required /></label></td>
</tr>
并将表单值发送到另一个php文件,其中包含以下代码:
$val = $_POST['lr_topfive'];
$data = str_getcsv($val);
??????
$lr_one = mysql_prep($_POST['lr_one']);
$lr_two = mysql_prep($_POST['lr_two']);
$lr_three = mysql_prep($_POST['lr_three']);
$lr_four = mysql_prep($_POST['lr_four']);
$lr_five = mysql_prep($_POST['lr_five']);
$query = "INSERT INTO xyz_wb (lr_one, lr_two, lr_three, lr_four, lr_five) VALUES ('{$lr_one}','{$lr_two}', '{$lr_three}', '{$lr_four}', '{$lr_five}')";
$result = mysql_query($query, $connection);
if ($result) {
redirect_to("email-ready.php");
} else {
//display error message
echo "<p>Yikes!</p>";
echo "<p>" . mysql_error() . "</p>";
}
我得到的是'lr_topfive'值被前两行解析并分成不同的值,但我不知道在将这些值插入MYSQL DB之前要做什么。
答案 0 :(得分:1)
我认为你只是在寻找:
$top_five_array = explode(',', $_POST['lr_topfive']);
然后:
$lr_one = mysql_prep($top_five_array[0]);
$lr_two = mysql_prep($top_five_array[1]);
....
但是,如果输入字段中没有4个逗号,则会中断。
除此之外,您需要使用PDO或mysqli切换到预准备语句,请参阅您问题下方的评论。