PDOStatement::execute()
(Omdirigerad från PDOStatement::execute)
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:
- PDOStatement::bindParam och/eller PDOStatement::bindValue anropas för att binda variabler eller värden till parametermarkörerna, eller
- en array med endast indata-parametervärden skickas in.
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
- PDO::prepare() - Förbereder ett uttalande för exekvering
- PDOStatement::bindParam() - Binder en parameter till ett angivet variabelnamn
- PDOStatement::fetch() - Hämtar nästa rad från ett resultatset
- [[PDOStatement::fetchAll]()]] - Hämtar alla rader från ett resultatset
- PDOStatement::fetchColumn() - Returnerar en enda kolumn från nästa rad i ett resultatset
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.