将数据从可变数量的表单插入到mysql中的相应列中

时间:2014-01-16 14:47:56

标签: php mysql

我有可变数量的表单(name1,name2,name3 ......等),我需要将这些数据放在相应的列中(name1,name2,name3)到目前为止我带有一个代码:

if(isset($_POST["nombreItem"]) && count($_POST['nombreItem'])>0) {

    foreach($_POST["ItemID"] as $value) {
    $query = "INSERT INTO `inventarioStat` SET `$_POST[ItemID]` = `$_POST[1]` ";

         mysql_query($query);
    }     

}

我做错了吗?

2 个答案:

答案 0 :(得分:4)

  1. 您未连接到数据库

  2. 正确的INSERT语法为:INSERT INTO table (column1, column2) VALUES ($val1, $val2)

  3. Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?使用PDOMySQLi - this article将帮助您确定哪个。

  4. 了解prepared statements以防止SQL注入(您的代码容易受到此攻击)

答案 1 :(得分:0)

使用PDOmysqliCRUD你的牌桌。
使用从用户收到的输入的清理,以避免SQL INJECTION 使用PHP sanitize filters以提高您的数据库安全性,与PDO配对 更好地规范化表格,拥有多列但只填充其中一些列表并不是一个好习惯。以NULL字段为常用表的表表示平庸的数据库体系结构和性能不佳。也许最好是遍历您的设计,然后通过CASEGROUP_CONCAT进行查询,以获得PIVOT或交叉标签表。