PDOStatement::execute

Från Wiki.linux.se
Version från den 22 december 2024 kl. 07.41 av Admin (diskussion | bidrag) (Skapade sidan med '== PDOStatement::execute == '''(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)''' === PDOStatement::execute — Executes a prepared statement === === Beskrivning === <pre> public PDOStatement::execute(?array $params = null): bool </pre> Exekverar ett förberett uttalande. Om det förberedda uttalandet innehåller parametermarkörer, kan antingen: * PDOStatement::bindParam och/eller PDOStatement::bindValue anropas för att binda variabler eller värden till pa...')
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

PDOStatement::execute

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

PDOStatement::execute — Executes a prepared statement

Beskrivning

public PDOStatement::execute(?array $params = null): bool

Exekverar ett förberett uttalande. Om det förberedda uttalandet innehåller parametermarkörer, kan antingen:

Observera:

  • Du kan inte binda flera värden till en enda parameter, exempelvis i en `IN()`-sats.
  • Om fler nycklar anges i `params` än vad som finns i SQL-uttrycket, kommer uttalandet att misslyckas.

Parametrar

params
En array med värden som motsvarar antalet bundna parametrar i SQL-uttrycket. Alla värden behandlas som `PDO::PARAM_STR`.

Returvärden

Returnerar `true` vid framgång eller `false` vid misslyckande.

Fel/Undantag

  • Ger ett felmeddelande 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 Exekvera ett förberett uttalande med bundna variabler och värden

<?php
$calories = 150;
$colour = 'green';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour LIKE :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', "%$colour%");
$sth->execute();
?>

Exempel #2 Exekvera ett förberett uttalande med en array av namngivna värden

<?php
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->execute(['calories' => $calories, 'colour' => $colour]);
?>

Exempel #3 Exekvera ett förberett uttalande med en array av positionsvärden

<?php
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute([$calories, $colour]);
?>

Exempel #4 Exekvera ett förberett uttalande med bundna positionsplatshållare

<?php
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR);
$sth->execute();
?>

Exempel #5 Exekvera ett förberett uttalande med en array för `IN`-satsen

<?php
$params = [1, 21, 63, 171];
$place_holders = '?' . str_repeat(', ?', count($params) - 1);

$sth = $dbh->prepare("SELECT id, name FROM contacts WHERE id IN ($place_holders)");
$sth->execute($params);
?>

Noteringar

  • Vissa drivrutiner kräver att cursorn stängs innan nästa uttalande exekveras.

Se även

Sidslut

Orginalhemsidan på Engelska :https://www.php.net/manual/en/pdostatement.execute.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.