我有可变数量的表单(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);
}
}
我做错了吗?
答案 0 :(得分:4)
您未连接到数据库
正确的INSERT
语法为:INSERT INTO table (column1, column2) VALUES ($val1, $val2)
Please, don't use mysql_*
functions in new code。它们不再被维护and are officially deprecated。请参阅red box?使用PDO或MySQLi - this article将帮助您确定哪个。
了解prepared statements以防止SQL注入(您的代码容易受到此攻击)
答案 1 :(得分:0)
使用PDO
或mysqli
来CRUD
你的牌桌。
使用从用户收到的输入的清理,以避免SQL INJECTION
使用PHP sanitize filters以提高您的数据库安全性,与PDO
配对
更好地规范化表格,拥有多列但只填充其中一些列表并不是一个好习惯。以NULL
字段为常用表的表表示平庸的数据库体系结构和性能不佳。也许最好是遍历您的设计,然后通过CASE
或GROUP_CONCAT
进行查询,以获得PIVOT
或交叉标签表。