PDO::exec

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

PDO::exec

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::exec — Execute an SQL statement and return the number of affected rows

Beskrivning

public PDO::exec(string $statement): int|false

PDO::exec() exekverar ett SQL-uttryck i ett enda funktionsanrop och returnerar antalet rader som påverkades av uttrycket.

Noteringar:

  • PDO::exec() returnerar inte resultat från ett `SELECT`-uttryck. För detta ändamål kan du använda PDO::query eller förbereda en PDOStatement med PDO::prepare.

Parametrar

statement
SQL-uttrycket som ska förberedas och exekveras.
Data i frågan bör korrekt hanteras och undvikas för SQL-injektion.

Returvärden

PDO::exec() returnerar antalet rader som ändrades eller raderades av SQL-uttrycket. Om inga rader påverkades returneras `0`.

Varning: Denna funktion kan returnera `false` som ett Boolean-värde, men också icke-Boolean-värden som utvärderas till `false`. Använd strikt jämförelse (`===`) för att testa returvärdet.

Felaktigt exempel:

<?php
$db->exec() or die(print_r($db->errorInfo(), true)); // felaktigt
?>

Fel/Undantag

  • Genererar ett fel med nivån `E_WARNING` om attributet `PDO::ATTR_ERRMODE` är inställt på `PDO::ERRMODE_WARNING`.
  • Kastar en `PDOException` om attributet `PDO::ATTR_ERRMODE` är inställt på `PDO::ERRMODE_EXCEPTION`.

Exempel

Exempel #1 Utföra ett DELETE-uttryck

Räkna antalet rader som raderades av ett `DELETE`-uttryck utan `WHERE`-klausul.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

/* Radera alla rader från tabellen FRUIT */
$count = $dbh->exec("DELETE FROM fruit");

/* Returnera antalet rader som raderades */
print "Deleted $count rows.\n";
?>

Utskriften från ovanstående exempel kan bli:

Deleted 1 rows.

Se även

Sidslut

Orginalhemsidan på Engelska :https://www.php.net/manual/en/pdo.exec.php
PHP Funktioner Funktionsreferens Databas-tillägg


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Huddinge Datorhjälp som har sponsrat Linux.se med webbhotell.