我是PDO领域的新手,目前正在尝试建立更新程序。我已经尝试了几个小时,实在感到沮丧。也许你们可以帮助我吗?
我尝试了建议的方法
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
但是完全没有帮助。
$pdo= Database::connect();
echo $pdo->beginTransaction();
$sql = "UPDATE products SET
product = :product,
text = :txt,
price = :price,
image = :image,
active = :active,
takeaway = :takeaway,
action = :action,
category = :category,
allerg = :allerg
WHERE id = :valId ;";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':product', $_POST['product']);
$stmt->bindValue(':txt', $_POST['text']);
$stmt->bindValue(':price', $_POST['price']);
$stmt->bindValue(':image', $_POST['image']);
$stmt->bindValue(':active', $_POST['active']);
$stmt->bindValue(':takeaway', $_POST['takeaway']);
$stmt->bindValue(':action', $_POST['action']);
$stmt->bindValue(':category', $_POST['category']);
$stmt->bindValue(':allerg', $_POST['allerg']);
$stmt->bindParam(':valId', $id, PDO::PARAM_INT);
echo "<br>exec:".$stmt->execute();
echo "<br>commit:". $pdo->commit();
预先感谢。
您可以很快使用此代码
$stmt->bindValue(':product', $_POST['product']);
$stmt->bindValue(':txt', $_POST['text']);
$stmt->bindValue(':price', $_POST['price']);
$stmt->bindValue(':image', $_POST['image']);
$stmt->bindValue(':active', $_POST['active']);
$stmt->bindValue(':takeaway', $_POST['takeaway']);
$stmt->bindValue(':action', $_POST['action']);
$stmt->bindValue(':category', $_POST['category']);
$stmt->bindValue(':allerg', $_POST['allerg']);
代替
foreach($_POST as $key=>$val)
{
$stmt->bindValue(":$key",$value);
}