2013-06-01 59 views
0

*我試圖把本地數組值$產品名稱爲sqlite3的表,數組是這樣的:PHP數組SQLITE3 DB

[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)

+0

感謝您的回答,現在我已經解決了這個問題! – user2436729

回答

0

爲了簡明起見,標題變量在聲明之前使用。它應該在循環內部使用,如下所示:$stmt->bindParam(':name', $i['name']);