PDO::prepare()
PDO::prepare
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::prepare — Prepares a statement for execution and returns a statement object
Beskrivning
public PDO::prepare(string $query, array $options = []): PDOStatement|false
Förbereder ett SQL-uttryck för att exekveras med metoden PDOStatement::execute. Uttrycksmallen kan innehålla noll eller fler namngivna (:name) eller frågeteckensparametrar (?) som kommer att ersättas med riktiga värden när uttalandet exekveras. Observera att du inte kan blanda dessa parameterstilar i samma mall; endast en stil kan användas. Använd parametrar för att binda användarinmatning, och inkludera aldrig användarinmatning direkt i frågan.
Varje parameter som ska användas i ett uttalande måste ha en unik parametermarkör. Det är inte möjligt att använda samma namngivna parameter mer än en gång i ett förberett uttalande om inte emulerat läge är påslaget.
Parametrar
- query
- Ett giltigt SQL-uttryck som är anpassat till den specifika databasservern.
- options
- En array med nyckel=>värde-par för att ställa in attributvärden för det PDOStatement-objekt som returneras. Ett vanligt användningsområde är att ställa in `PDO::ATTR_CURSOR` till `PDO::CURSOR_SCROLL` för att begära en scrollbar cursor. Vissa drivrutiner har även drivrutinsspecifika alternativ.
Returvärden
Om databasservern lyckas förbereda uttalandet returnerar `PDO::prepare()` ett PDOStatement-objekt. Om det misslyckas returneras `false`, eller så kastas en `PDOException` beroende på felfunktionalitet.
Observera: Emulerade förberedda uttalanden kommunicerar inte med databasservern, så `PDO::prepare()` kontrollerar inte uttalandet.
Noteringar
- Parametermarkörer kan endast representera fullständiga data-litteraler. De kan inte användas för att binda delar av en litteral, nyckelord, identifierare eller andra godtyckliga delar av en fråga.
- Frågetecken kan undantas genom att dubbleras (t.ex. `??` översätts till `?`).
- För att undvika problem med emulerade förberedda uttalanden bör en parameterstil användas som stöds direkt av drivrutinen.
Exempel
Exempel #1 Skapa ett förberett uttalande
<?php $sql = "SELECT * FROM users WHERE email = :email"; $stmt = $dbh->prepare($sql); $stmt->bindParam(':email', $email); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); ?>
Se även
- PDOStatement::execute - Exekverar ett förberett uttalande
- PDOStatement::bindParam - Binder en parameter till ett namngivet variabel
- PDOStatement::bindValue - Binder ett värde till en parameter
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/pdo.prepare.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.