Вставка множественных значений поля выбора SQL

<tr>
<td>Platform: </td>
<td><select multiple=\"multiple\" id=\"platform[]\" name=\"platform[]\" size=3>
            <option value=\"PC\">PC </option>
            <option value=\"PS4\">PS4 </option>
            <option value=\"Xbox One\">Xbox One </option>
            </select>   </td>
</tr>

    $artID= $_GET['artID'];

    $name2 = testinput($_POST['name']);
    $price2 = $_POST['price'];
    $VAT2 = testinput($_POST['VAT']);
    $description2 = testinput($_POST['description']);
    $beschrijving2 = testinput($_POST['beschrijving']);
    $foto2 = testinput($_POST['foto']);
    $genre2 = testinput($_POST['genre']);
    $platform2 = $_POST['platform'];


$sql = "UPDATE `producten` SET genre = \"$genre2\" , platform = \"$platform2\" , beschrijving=\"$beschrijving2\", description=\"$description2\", name = \"$name2\", price = \"$price2\", VAT = \"$VAT2\", foto = \"$foto2\" WHERE `artID` = $artID";
$qresult = $connect1 -> query($sql);

Здесь я пытаюсь вставить несколько значений selectionbox в мою базу данных, но единственное значение, которое он возвращает в базе данных, это "массив", с которым я хотел бы вставить их в базу данных, между ними желательно. Я пытался найти другие решения, но я не могу найти подходящее для меня.

1 ответ

$_POST['platform'] это массив, поэтому вам нужно решить, как вы хотите сохранить его. Ты можешь использовать implode сделать строку из переменных.

$platform2 = implode(',',$_POST['platform']); // becomes "PC,Xbox One"

Как примечание, я бы действительно предложил связать ваши переменные, чтобы предотвратить внедрение SQL.

Другие вопросы по тегам