Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在sql中存储具有相同输入名称的多个值_Php - Fatal编程技术网

Php 在sql中存储具有相同输入名称的多个值

Php 在sql中存储具有相同输入名称的多个值,php,Php,我需要在数据表中插入form的值 这是我的考试表 <form method="post" action=""> 1<input type="text" name="answer"> 3<input type="text" name="answer"> 5<input type="text" name="answer"> 7<input type="text" name="answer"> <

我需要在数据表中插入form的值

这是我的考试表

<form method="post" action="">
    1<input type="text" name="answer">
    3<input type="text" name="answer">
    5<input type="text" name="answer">
    7<input type="text" name="answer">
    <input type="submit" name="submit">
</form>

尝试将您的HTML代码更改为此

<form method="post" action="">
    1<input type="text" name="answer[]">
    3<input type="text" name="answer[]">
    5<input type="text" name="answer[]">
    7<input type="text" name="answer[]">
    <input type="submit" name="submit">
</form>
上面是打印输出的
$\u POST
变量,如so
print\r($\u POST)

现在,您可以轻松地在PHP中获得所有
答案
输入,并将其转换为json,如下所示

$answer=json_encode($_POST['answer']);

但是,由于您要将其保存在mysql中,我建议使用
serialize()
而不是
json\u encode()
。请阅读有关
serialize()

命名字段
answer[]
,然后您可以在php中作为数组进行访问。在PHP中如何处理该数组当然取决于您自己—它存储什么类型的值,不存储什么类型的值?您有什么解释为什么建议使用序列化而不是json?如果序列化该值,则表示数据库语言中的数据是特定的。如果有什么不同的话,我认为他们应该规范化他们的数据库,而不是在一列中存储多个值。@MagnusEriksson你是对的,我同意你的观点。我建议使用
serialize()
,因为它速度更快,而且如果我构建这样的东西,我会使用它。如果这些数据有进展,我建议使用json_编码以实现可移植性。好问题,谢谢。“我建议serialize(),因为它更快”-事实上,serialize和unserialize(这需要考虑)非常慢,所以我不会自动同意。这只是一个建议,没有人真正需要相信我的话。我刚发现速度更快。这是一个很好的讨论话题,我相信关于这个问题会有很多不同的答案。谢谢你提到@MagnusEriksson
<form method="post" action="">
    1<input type="text" name="answer[]">
    3<input type="text" name="answer[]">
    5<input type="text" name="answer[]">
    7<input type="text" name="answer[]">
    <input type="submit" name="submit">
</form>
Array
(
    [answer] => Array
        (
            [0] => first answer
            [1] => second answer
            [2] => third answer
            [3] => fourth answer
        )

)