有!
我有这个HTML:
<form method="POST" action="incluindo1.php">
<fieldset>
<legend>Incluir Produto</legend>
<label for="nome">Nome:</label><br>
<input type="text" name="nome" class="" placeholder="Digite o nome"><br>
<label for="email">Email:</label><br>
<input type="email" name="email" class="" placeholder="Digite o email"><br>
<label for="categoria">Categoria:</label><br>
<select name="categoria">
<option value="selecione">Selecione</option>
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
<option value="d">D</option>
</select><br>
<label for="preferencias">Preferências musicais:<br>
<input type="checkbox" name="preferencias[]" value="Clássica">Clássica
<input type="checkbox" name="preferencias[]" value="Rock">Rock
<input type="checkbox" name="preferencias[]" value="Pop">Pop
<input type="checkbox" name="preferencias[]" value="MPB">MPB
<input type="checkbox" name="preferencias[]" value="Flashouse">Flashouse
</label><br>
<textarea name="observacao" class="" placeholder="Digite sua observação"></textarea><br>
<input type="submit" value="Incluir" name="incluir" id="incluir">
</fieldset>
</form>
我有这个PHP:
include "conecta_mysqli.inc.php";
$nome=$_POST["nome"];
$email=$_POST["email"];
$categoria=$_POST["categoria"];
$preferencias=$_POST["preferencias"];
$observacao=$_POST["observacao"];
$inclusao = mysqli_query($conexao, "INSERT INTO pessoas_a VALUES(null,'$nome','$email','$categoria','$preferencias','$observacao')");
这个SQL:
create table pessoas_a(
id int(11) AUTO_INCREMENT,
nome varchar(50) not null,
email varchar(30) not null,
categoria char(1) not null,
preferencias text not null,
observacao text not null,
primary key(id)
);
如何在MySQL中插入这些值的最佳方法
答案 0 :(得分:0)
如果您想要/非常简单的表格
你可以迭代$preferencias as $preferencia
(因为它是一个数组)
并在查询中插入每个条目(使用$preferencia
,保留其余条目),但是为数据库中的每一个条目写入一行,但您也可以implode(',',$_POST["preferencias"])
只写一个条目(如果这可以实现这种方式)。取决于你想做什么/尝试
答案 1 :(得分:0)
如果数据要保留在同一行,则应序列化数据。缺点是,您无法索引和查询这些值。如果没有,您应该构建一个单独的表并交叉引用数据。以下是序列化方法。
include "conecta_mysqli.inc.php";
$nome=$_POST["nome"];
$email=$_POST["email"];
$categoria=$_POST["categoria"];
$preferencias= serialize($_POST["preferencias"]);
$observacao= serialize($_POST["observacao"]);
$inclusao = mysqli_query($conexao, "INSERT INTO pessoas_a VALUES(null,'$nome','$email','$categoria','$preferencias','$observacao')");