2

mysql_query によって埋められる配列が 1 つあります。この配列にある値を、たとえば 1 つの連続した文字列に入れたい:

$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')";

1 つのテーブルの意味は 50 列を超えています。手動で入力するのではなく、WHILE または FOR で入力します。そこで、次のように値を 1 つの文字列に入れることを考えていました。

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

だから今私はこれを持っています:

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

サイクルでは、1 つの変数に複数のエントリを持つことはできません。

$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);

また、値をデータベースに挿入する前に必ずエスケープしてください。これは、値の 1 つに一重引用符 (') またはそれより悪いもの (有効な SQL など) が含まれており、クエリがクラッシュする場合に行います。これには mysql_real_escape_string(...) または mysqli_real_escape_string(...) を使用できます

于 2012-06-13T14:30:09.763 に答える