PDOStatement::execute(): Skillnad mellan sidversioner
Hoppa till navigering
Hoppa till sök
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...') |
Admin (diskussion | bidrag) |
||
| (En mellanliggande sidversion av samma användare visas inte) | |||
| Rad 96: | Rad 96: | ||
=== Se även === | === Se även === | ||
* [[PDO::prepare]] - Förbereder ett uttalande för exekvering | * [[PDO::prepare()]] - Förbereder ett uttalande för exekvering | ||
* [[PDOStatement::bindParam]] - Binder en parameter till ett angivet variabelnamn | * [[PDOStatement::bindParam()]] - Binder en parameter till ett angivet variabelnamn | ||
* [[PDOStatement::fetch]] - Hämtar nästa rad från ett resultatset | * [[PDOStatement::fetch()]] - Hämtar nästa rad från ett resultatset | ||
* [[PDOStatement::fetchAll]] - Hämtar alla rader 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 | * [[PDOStatement::fetchColumn()]] - Returnerar en enda kolumn från nästa rad i ett resultatset | ||
= Sidslut = | = Sidslut = | ||
Nuvarande version från 22 december 2024 kl. 18.17
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.