2

我有一个由 mysql_query 填充的数组。我想将这个数组中的值放入一个连续的字符串中,例如:

$array = array(1, 2, 3, 4, 5);

INSERT INTO 'new_slovmas'.'$tabulka'('$array[0]', '$array[1]', '$array[3]') 
       VALUES ('$r_1', '$r_2', '$r_3')";

一张表中的意义超过 50 列我不想手动填充它,而是通过 WHILE 或 FOR。所以我正在考虑将值放入一个字符串中,如下所示:

$array = array("'1',", "'2',", "'3',", "'4',", "'5',");

所以现在我有了这个:

echo $array[2]; => '3',

通过循环,我不会在一个变量中实现多个条目。

$str = $array[0], $array[1] ... $array[xy];

INSERT INTO 'new_slovmas'.'$tabulka'('$str') 
       VALUES ('$r_1', '$r_2', '$r_3')";
4

3 回答 3

5

采用implode()

$string = implode(',', array(1, 2, 3, 4, 5));  // $string = 1,2,3,4,5
于 2012-06-13T14:29:06.500 回答
3

PHP 的 implode 函数会将数组解压成字符串,以便在 Javascript 中使用。试试这个:

$str = implode(',',$array);
于 2012-06-13T14:29:28.787 回答
0

采用:

join(",", $array);

此外,请务必在将值插入数据库之前对其进行转义。如果您的某个值包含单引号 (') 或更糟糕的内容(如有效 SQL),您可以这样做,这会使您的查询崩溃。您可以为此使用 mysql_real_escape_string(...) 或 mysqli_real_escape_string(...)

于 2012-06-13T14:30:09.763 回答