Как я могу повторить, сколько записей было обновлено с этим кодом?
Я знаю, что я могу сделать это в общем обновлении:
echo $stmt->rowCount() . " records UPDATED successfully";
Но вопрос здесь в том, как это сделать, когда происходит несколько обновлений одновременно.
ПРИМЕЧАНИЕ О ВОЗМОЖНОМ ДУБЛИКАТЕ: Я уже объяснил, что мой вопрос отличается от: PDO были затронуты строки во время выполнения инструкции
Это решение для одного обновления, и оно не работает в этом коде. Я спрашиваю, как считать, когда есть несколько обновлений.
try {
require_once 'connexion.php';
$stmt = $conn->prepare("UPDATE bookmarks
SET podcast=:podcast, text=:text
WHERE id=:id");
$stmt->bindParam(':podcast', $podcast);
$stmt->bindParam(':text', $text);
$stmt->bindParam(':id', $id);
$podcast = 1;
$text = "text 1";
$id = 147;
$stmt->execute();
// another row:
$podcast = 2;
$text = "text 2";
$id = 265;
$stmt->execute();
// echo " records UPDATED successfully";
}
catch(PDOException $e){
echo $e->getMessage();
}
Попробуй это.
Как вы делаете несколько ->execute()
вам придется захватить счет каждого ->execute()
как вы это делаете, а затем показать накопленный общий счет в конце
try {
require_once 'connexion.php';
$update_count = 0;
$stmt = $conn->prepare("UPDATE bookmarks
SET podcast=:podcast, text=:text
WHERE id=:id");
$stmt->bindParam(':podcast', $podcast);
$stmt->bindParam(':text', $text);
$stmt->bindParam(':id', $id);
$podcast = 1;
$text = "text 1";
$id = 147;
$stmt->execute();
$update_count += $stmt->rowCount();
// another row:
$podcast = 2;
$text = "text 2";
$id = 265;
$stmt->execute();
$update_count += $stmt->rowCount();
echo "$update_count records UPDATED successfully";
}
catch(PDOException $e){
echo $e->getMessage();
}
Пытаться $stm->rowCount()
, Источник здесь: http://php.net/manual/en/pdostatement.rowcount.php
Здесь уже задавался вопрос: https://stackoverflow.com/a/10522575/2853903