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...') |
(Ingen skillnad)
|
Nuvarande version från 22 december 2024 kl. 07.41
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.