【发布时间】:2020-05-15 14:44:36
【问题描述】:
从 php 我正在尝试使用 INSERT 查询插入一个数组。我收到错误消息:
检查数据库连接列计数与第 1 行的值计数不匹配。
我不熟悉这种类型的插入,也不熟悉使用 implode。请帮助某种类型的解决方案。我的表格列是
IaasForm_id (PK), From_id(FK), roleApp, os, vCPU, Memory, val, Performance, HighWrite, fwconfig, transIn, transOut, bkUp
和sql
$sql = "INSERT INTO FORM(From_id, roleApp, os, vCPU, Memory, val,
Performance, HighWrite, fwconfig, transIn, transOut, bkUp)
VALUES ((SELECT MAX(Form_id) FROM FORM ), '" . implode("','", $array[$i]) . "','" . $hw . "','" . $_POST[ 'fwconfig' ] . "','" . $_POST[ 'transIn' ] . "','" . $_POST[ 'transOut' ] . "','" . $_POST[ 'bkUp' ] . "')";
【问题讨论】:
-
请使用准备好的语句。这对 SQL 注入开放,更改为语句可能也解决您看到的问题。
-
我只需要知道如何在带有额外列的插入语句中使用内爆。可能查看示例和最佳方式
-
请在插入数据库之前进行内爆。像这样 - $implode = implode(" ",$array[$i]);并将 $implode 变量传递给查询