0

1,2,3,4,5while ループの 1 つのフィールドに、このようなデータベースに ID を格納したいと考えています。これどうやってするの。

私はこのようにしようとしています。

$array = array();

while($row=mysqli_fetch_assoc($result)){
$array[] = array($row['id']);
}

$query = mysqli_query($connection,"INSERT INTO temp (temp) VALUES('$array')");
print_r($array);

これは、データベースに挿入されたエラーArray to string conversionと値を示しています。Array

これを行うための可能な方法を見て提案してください。

ありがとう。

4

8 に答える 8

4

別のテーブルを作成し、5 行を挿入します。

entity_id | ids
1             1
1             2
1             3
1             4
1             5

それがそのようなことを行う唯一の適切な方法です

ただし、それが本当に一時テーブルである場合は、おそらくこれらの挿入をまったく回避する方法があります。

于 2013-01-17T11:48:10.990 に答える
3

serializeまたはjson_encodeのいずれかを使用できます。

$data = serialize($array);
// ...or...
$data = json_encode($array);

配列に単純な数値だけが含まれている場合は、implodeを使用することもできます:

$data = implode(',', $array);
于 2013-01-17T11:47:23.033 に答える
1
$arrays = array();

while($row=mysqli_fetch_assoc($result)){
    $arrays[] = $row['id'];
}
$arr_str  = implode(",", $arrays);
$query = mysqli_query($connection,"INSERT INTO temp (temp) VALUES('$arr_str')");
//print_r($array);

implode の詳細については、こちらを参照してください。

于 2013-01-17T11:47:32.633 に答える
0

implode()関数を使用します。

$to_insert = implode(',', $array);
$query = mysqli_query($connection,"INSERT INTO temp (temp) VALUES('$to_insert')");
于 2013-01-17T11:47:42.037 に答える
0

フィールド タイプ varchar(255) を設定し、php でこれを行います

$array = array();
$value = serialize($array);

$query = mysqli_query($connection,"INSERT INTO temp (temp) VALUES('$value')");
print_r($array);

値を取得するには、列をシリアル化解除する必要があります

$data = unserialize($result['temp']);

ここで結果は連想配列です。$data は、内破や爆発、または json_encode または json_decode を行う必要のない配列です

于 2013-01-17T12:02:29.110 に答える
0
$query = mysqli_query($connection,"INSERT INTO temp (temp) VALUES(".join(',', $array).")");
于 2013-01-17T11:47:51.353 に答える
0

試す:

$ids = join(',',$array);
$query = mysqli_query($connection,"INSERT INTO temp (temp) VALUES('$ids')");
于 2013-01-17T11:48:14.960 に答える
0

データベースに挿入する前にimplode関数を使用してください:-

ここに例があります:-

 $array = array(1,2,3);
 $comma_separated = implode(",", $array);

 echo $comma_separated; 

出力:-

  1,2,3

あなたの場合:-

    $array = array();

    while($row=mysqli_fetch_assoc($result)){
    $array[] = array($row['id']);
    }
    $comma_separated = implode(",", $array);
    $query = mysqli_query($connection,"INSERT INTO temp (temp) VALUES('$comma_separated')");
    print_r($array);
于 2013-01-17T11:49:36.093 に答える