我有一个表具有以下结构插入问题 - 的MySQL通过PHP
Bay | Slot1 | Slot 2 | Slot 3 | Slot 4 | Slot 5
-----------------------------------------------
1 | time1 | time 2 | time 3 | time 4 | time 5
下面的代码被用于插入:
for ($i =1; $i <= $bayCount; $i++) {
mysql_query("INSERT INTO $tableName (Bay) VALUES ($i)");
for ($j=0; $j<$slotCount ; $j++) {
echo $i;
echo $_slotColumns[$j];
mysql_query("INSERT INTO $tableName ($_slotColumns[$j]) VALUES (slotValues[$j]) WHERE Bay = $i ");
}
}
海湾是增量种类和值的整数对于插槽作为数组传递(slotValues [$ j])使用for循环插入来生成插槽列。插槽值是文本类型。有人能告诉我发生了什么事吗?插槽值插入但不是插槽值。我做错了什么?
您应该查看SQL语法的基础知识。 'INSERT'向数据库添加一个新行,并且没有'WHERE'。你需要的是'更新'。尽管一次创建整个查询会更好。最好的办法是手动写出完整的查询,然后检查需要更改的部分。不推荐使用'mysql_query'。看看'mysqli'或'PDO' – 2013-03-07 09:57:54
这是哪个循环中的'slotColumns'和'slotValues'的值? – Alvaro 2013-03-07 09:57:59
@Steve我把数字5作为插槽计数迭代以得到插槽列和插槽值是time1时间2 ... – DesperateLearner 2013-03-07 11:21:59