Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否将-large-array中的值插入mysql?_Php_Mysql_Arrays_Insert - Fatal编程技术网

Php 是否将-large-array中的值插入mysql?

Php 是否将-large-array中的值插入mysql?,php,mysql,arrays,insert,Php,Mysql,Arrays,Insert,我有一个包含用户ID的长数组。 我想将每个数组作为新行插入mysql。ı怎么能做到这一点 我试过这个,但不起作用 stdClass Object ( [ids] => Array ( [0] => 12345671 [1] => 12345672 [2] => 12345673 [3] => 12345674

我有一个包含用户ID的长数组。 我想将每个数组作为新行插入mysql。ı怎么能做到这一点

我试过这个,但不起作用

        stdClass Object
(
    [ids] => Array
        (
            [0] => 12345671
            [1] => 12345672
            [2] => 12345673
            [3] => 12345674
            [4] => 12345675
            [5] => 12345676
            [6] => 12345677
                 .
                 .
                 .                 
                 .
        )

这样做会导致列计数不匹配,
table
是一个保留字,因为生成的查询类似于

$sql = array(); 
foreach( $content as $row ) {
    $sql[] = '("'.$con->real_escape_string($row['ids']).'")';
}
mysql_query('INSERT INTO table (ids) VALUES '.implode(',', $sql));
这是错误的

你需要你的结束查询是这样的

INSERT INTO `table` (ids) VALUES 12345676, 12345677
要使用PHP实现这一点,我们可以执行以下操作:

INSERT INTO `table` (ids) VALUES (12345676), (12345677)

你试过什么吗?你被困在哪了?你为什么不努力呢?您读过我们的吗?值列表中的每一项都缺少括号:它是
VALUES('12345671'),('12345672'),…
not
VALUES'12345671',…
如果您的id列的数据类型为INT,则值周围也不需要单引号。使用参数化的准备语句迁移到mysqli或PDO是个好主意。
<?php

$a = array("ids" => array(1,2,3,4,5,6,7,8,9));

$input_lines = implode(",", $a['ids']);

echo preg_replace("/[0-9]/", "($0)", $input_lines);
<?php

$a = array("ids" => array(1,2,3,4,5,6,7,8,9));
$input_lines = implode(",", $a['ids']);
$sql = "INSERT INTO `table` (ids) VALUES ". preg_replace("/[0-9]/", "($0)", $input_lines);