簡體   English   中英

使用pdo將多行插入mysql db

[英]insert multiple rows into mysql db using pdo

我有以下格式的數組

Array
(
[0] => Array
    (
        [name] => Product 1
        [weight] => 0.3000
        [Price] => 31.4400
    )

[1] => Array
    (
        [name] => Product 2
        [weight] => 0.2000
        [Price] => 32.4400
    )

)

我的pdo sql查詢如下:

$sql = "INSERT INTO products(name,weight,price) VALUES (?,?,?)"; 
$stmt = $conn->prepare($sql); 
foreach ($new_items as $v) {    
    $stmt->execute(array_values($v)); 
}

收到錯誤:

PHP注意:$ stmt-> execute(array_values($ v));上的數組到字符串的轉換

更新:

也嘗試了@ user1978142提供的此代碼

// insert to database
foreach($new_items as $key => $value) {
    $stmt = $conn->prepare("INSERT INTO products (name, weight, price) VALUES (:name, :weight, :price)");
    $stmt->bindParam(':name', $value['name']);
    $stmt->bindParam(':weight', $value['weight']);
    $stmt->bindParam(':price', $value['Price']);
    $stmt->execute();
}

錯誤:無效的參數編號:綁定變量的數量與令牌的數量不匹配。

上面的代碼有什么問題?? 我是新手。

$stmt = $conn->prepare($sql); 添加此代碼:

 $stmt -> bind_param("ssd", $name, $weight,$price);

對於當前的數據結構,您的代碼可以。

該錯誤表明您的數組具有某些不同的結構,至少該數組還有一個嵌套級別

檢查您的輸入數據。

准備台詞之后,請先使用bind_param ,然后再繼續進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM