0

*ローカル配列値 $productname を sqlite3 テーブルに入れようとしています。配列は次のようになります。

[0] usb 16gb
[1] monitor 16"
[2] dual batteries
[3] multi blender pro

等々*

// Prepare INSERT statement into sqlite3
  $insert = "INSERT INTO products (name) 
            VALUES (:name)";

  $stmt = $db->prepare($insert);

  // Bind parameters to statement variables
  $stmt->bindParam(':name', $title);

  // Loop all product title and execute
   foreach ($productname as $i)
  {
        // Set values to bound variables
        $title = $i['name'];
        // Execute statement
         $stmt->execute();
  }

  $result= $db->query('SELECT * FROM products');
    foreach($result as $row) 
     {
        echo "Id: " . $row['id'] . "\n";
        echo "Title: " . $row['name'] . "\n";
     }

これは機能しますが、印刷されます

Id: 1
Title: U
Id: 2 
Title: M
Id:3 
Title: D
Id:4 
Title: M 

どこが間違っていますか?文字列(商品名)全体が出力されない…?また、実際にはタイトルが 4 つほどしかない場合でも、約 80 回繰り返します。基本的に、php 配列を sqlite3 テーブル列 (productTitle) に入れたい

4

1 に答える 1

0

簡潔にするために、タイトル変数は宣言される前に使用されます。次のように、ループ内で使用する必要があります。$stmt->bindParam(':name', $i['name']);

于 2013-06-04T15:00:44.423 に答える