插入多行但不是空字段

时间:2015-05-24 08:35:08

标签: php mysqli

我有4行需要插入db如果它们不是空的。 但我不能让它发挥作用。

这x 4次

<select class="form-control" id="masura" name="masura[]">
<option value='' > -- </option>
<option value='XS' > XS </option>
</select>
<input type="text" class="form-control" id="stoc" name="stoc[]" >

和这个php

$row_data = array();
foreach($_POST['stoc'] as $row=>$stoc) {
    $stoc=mysqli_real_escape_string($link,$stoc);
    $masura=mysqli_real_escape_string($link,($_POST['masura'][$row]));
    $row_data[] = "('$masura', '$stoc' , '$dirName')";
}

if (!empty($row_data)) {
    $sql = 'INSERT INTO stoc (masura, stoc, prodid) VALUES '.implode

    (',', $row_data);
    $result = mysqli_query($link, $sql);
}

问题是它还会插入空字段(如果我只输入1个字段,它会插入该字段,其他3个字段为空)

由于

1 个答案:

答案 0 :(得分:0)

不要将空字段添加到$row_data

foreach($_POST['stoc'] as $row=>$stoc) {
    if (empty($stoc) || empty($_POST['masura'][$row])) {
        // Skip if either field is empty
        continue;
    }
    $stoc=mysqli_real_escape_string($link,$stoc);
    $masura=mysqli_real_escape_string($link,($_POST['masura'][$row]));
    $row_data[] = "('$masura', '$stoc' , '$dirName')";
}