【问题标题】:how do i update/insert values into a row with multiple columns through a form如何通过表单将值更新/插入具有多列的行
【发布时间】:2015-12-23 04:25:19
【问题描述】:

假设一个12列的sql server表需要使用html表单表逐行填充。我已经使用 for 循环创建了文本框,然后我必须将该表单中的值插入到 sql 表中。我做不到。这是我使用的代码

echo '
'; 回声''; 回声' '; for($i = 1; $i '; } 回声''; 回声'
'; 如果($_POST['提交']) { foreach($_POST['mytext'] as $value) { 回显$值。" "; } $result=mssql_query("插入 test_table (p1,p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) 值 ('".$value."')"); }

该表有一个 id 列和 12 个不同的列。它给了我错误:

INSERT 语句中的列多于 VALUES 子句中指定的值。 VALUES 子句中的值数必须与 INSERT 语句中指定的列数匹配。

请注意,所有文本框都未填写,因此某些列应为 0

【问题讨论】:

  • 这是一个数组。如何将值作为数组插入?

标签: php sql-server forms


【解决方案1】:

试试这样:

    echo '< form name="myForm" method="post" action="'.$_SERVER['PHP_SELF'].'" align="center" class="form-inline">';
        echo'< table border="1" >';
        echo ' < tr>< td>< /td>';
        for($i = 1; $i <= 12; $i++) {
            echo '< td>< input type="text" placeholder="enter text" name="mytext[]" value="0">< /td>';
        }
        echo'< /tr>';
    echo '< /table>
    < input type="submit" value="submit" name="submit">
    < /form>';

$valueArr = array();
    if($_POST['submit'])
    {
        foreach($_POST['mytext'] as $value)
        {
            $valueArr [] = "'".$value."'";    
        }
        $result=mssql_query("insert into test_table (p1,p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) values (".implode(",",$valueArr).")
");
        } 

【讨论】:

  • 不客气。请将我的答案标记为“正确答案”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-21
  • 1970-01-01
  • 1970-01-01
  • 2011-10-30
  • 2012-07-03
  • 2014-03-29
  • 2019-07-11
相关资源
最近更新 更多