用于插入的 php 数组内爆

标签 php html implode

我正在使用 jquery serializearray() 函数将 html 数组传递给 php。

在 php 中,我可以使用 $_POST 访问数组

 $a = $_POST['htmlarray']

然而,html 数组是一个像这样的数组数组

 htmlarray[] = [[1,2,3,4,5,6],[7,8,9,10,11,12],[13,14,15,16,17,18]]

我想格式化变量 $a 以便我可以在一个插入查询中插入所有 html 数组值,如

 INSERT INTO table
 (val1, val2, val3, val4, val5, val6)
  VALUES
    (1,2,3,4,5,6),
   (7,8,9,10,11,12),
    (13,14,15,16,17,18)

我知道我必须使用内爆函数,任何人都可以展示如何做到这一点。

最佳答案

我不太确定 html 数组是什么,但请尝试以下操作:

$a = $_POST['htmlarray'];

// unserialize $a

// build sql query up to '...VALUES '

foreach ($a as $row) {
   $sql .= '(';
   $sql .= implode(',', $row);
   $sql .= ')',
}

这应该遍历数组并将所有行附加到字符串。但是请注意,此代码根本不处理 SQL 注入(inject)!不适用于生产。

关于用于插入的 php 数组内爆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19137646/

相关文章:

php - 使用 mysql where in 语句时将文本值包装在字符串中

php - 无法更新 mysql 中 double 类型的字段

javascript - 为什么我的 crypto.createHmac() 会为相同的输入生成不同的 HMAC?

php - 为什么MYSQL Server "go away"在PHP 5.4.11下,在5.3.17下却不是?

jquery - Bootstrap Gallery 空白区域

php - 使用空值格式化 php echo

javascript - 如何使用数据库中的值执行 JavaScript 事件?

html - 如何将 Glyphicon 放入输入标签中?

javascript - 'hasClass' 和 'is' 之间的区别?另外,替代返回 Jquery 元素?

php - PHP的错误提示