[英]Why is the database not updating in this?
我有這個PHP:
<?php
$db= new PDO("mysql:host=example;dbname=example", "root", "example");
$query= $db->prepare("SELECT yarnName, price, sale_price, cost, contents, onSale, yarnLink, yarnImage, activeFlag FROM yarn WHERE yarnId = :parameter");
$query->bindParam(':parameter', $id, PDO::PARAM_STR);
$query->execute();
$id=$_POST['id'];
$name=$_POST['name'];
$price=$_POST['price'];
$salePrice=$_POST['salePrice'];
$cost=$_POST['cost'];
$contents=$_POST['contents'];
$onSale=$_POST['onSale'];
$yarnLink=$_POST['yarnLink'];
$image=$_POST['image'];
$active=$_POST['active'];
$attrUpdates= array($name,$price,$salePrice,$cost,$contents,$onSale,$yarnLink,$image,$active);
$attrOriginal=$query->fetch();
if(count($attrUpdates)==count($attrOriginal)){
for($i=0; $i<count($attrUpdates); $i++){
if($attrUpdate[$i]!=$attrOriginal[$i]&&$attrUpdate[$i]!=null){
switch($i){
case 0:
$update=$db->prepare("UPDATE yarn SET yarnName = :parameter1 WHERE yarnId = :parameter2");
case 1:
$update=$db->prepare("UPDATE yarn SET price = :parameter1 WHERE yarnId = :parameter2");
case 2:
$update=$db->prepare("UPDATE yarn SET sale_price = :parameter1 WHERE yarnId = :parameter2");
case 3:
$update=$db->prepare("UPDATE yarn SET cost = :parameter1 WHERE yarnId = :parameter2");
case 4:
$update=$db->prepare("UPDATE yarn SET contents = :parameter1 WHERE yarnId = :parameter2");
case 5:
$update=$db->prepare("UPDATE yarn SET onSale = :parameter1 WHERE yarnId = :parameter2");
case 6:
$update=$db->prepare("UPDATE yarn SET yarnLink = :parameter1 WHERE yarnId = :parameter2");
case 7:
$update=$db->prepare("UPDATE yarn SET yarnImage = :parameter1 WHERE yarnId = :parameter2");
case 8:
$update=$db->prepare("UPDATE yarn SET activeFlag = :parameter1 WHERE yarnId = :parameter2");
}
$query->bindParam(':parameter1', $attrUpdate[$i], PDO::PARAM_STR);
$query->bindParam(':parameter2', $id, PDO::PARAM_STR);
$query->execute();
}
}
}
?>
並且它沒有更新數據庫。 我不確定為什么會這樣,但是如果有人告訴我出了什么問題,我將不勝感激。 我不認為這是錯的地方,但是可能是。
$ query更改為$ update
$update->bindParam(':parameter1', $attrUpdate[$i], PDO::PARAM_STR);
$update->bindParam(':parameter2', $id, PDO::PARAM_STR);
$update->execute();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.