sql >> Database teknologi >  >> RDS >> Mysql

Hvordan kan jeg få en fejl, når jeg kører flere forespørgsler med PDO?

Jeg fandt svaret ved at bruge en forberedt erklæring. Efter at have gennemgået alle rækkesæt, kan jeg kontrollere, om den sidst udførte forespørgsel forårsagede en fejl ved hjælp af $stmt->errorInfo() .

$db = new PDO("mysql:host=localhost;dbname=test", 'root', '');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1);

$sql = "
DELETE FROM car; 
INSERT INTO car(name, type) SELECT name, from FROM vehicle;
";

$stmt = $db->prepare($sql);
$stmt->execute();
$i = 0;

do {
  $i++;
} while ($stmt->nextRowset());

$error = $stmt->errorInfo();
if ($error[0] != "00000") {
  echo "Query $i failed: " . $error[2];
  die();
}


  1. Kørsel af flere PostgreSQL-instanser på en enkelt vært

  2. jboss-databaseforbindelse timeout, når inaktiv i Oracle

  3. Vis data i en tabel til opdateringsformål

  4. Flere afkrydsningsfelter gemt i et enkelt felt i en database