PDO::prepare: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Omdirigerar till PDO::prepare())
Märke: Ny omdirigering
 
Rad 1: Rad 1:
== PDO::prepare ==
#REDIRECT [[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 ===
<pre>
public PDO::prepare(string $query, array $options = []): PDOStatement|false
</pre>
Förbereder ett SQL-uttryck för att exekveras med [[PDOStatement::execute]]. Mallen kan innehålla namngivna (:name) eller frågetecken (?) som parametermarkörer. Använd dessa markörer för att binda användarinmatning – inkludera aldrig användarinmatning direkt i frågan.
 
'''Noteringar:'''
* Parametermarkörer kan representera en fullständig data literal, men inte en del av en literal, nyckelord eller identifierare.
* Du kan inte blanda namngivna och frågetecken som parametermarkörer i samma mall.
* [[PDO::prepare]] och [[PDOStatement::execute]] optimerar applikationens prestanda och förhindrar SQL-injektion.
 
=== Parametrar ===
; query
: Ett giltigt SQL-uttryck för måldatabasservern.
 
; options
: En array med nyckel=>värde-par för att ställa in attributvärden för det PDOStatement-objekt som metoden returnerar. Vanligtvis används detta för att sätta värdet på `PDO::ATTR_CURSOR` till `PDO::CURSOR_SCROLL` för att begära en rullningsbar markör.
 
=== Returvärden ===
Returnerar ett PDOStatement-objekt vid framgång. Vid misslyckande returneras `false` eller PDOException kastas (beroende på felfunktion).
 
=== Fel/Undantag ===
* Genererar ett fel 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 SQL-mall med namngivna parametrar ====
<pre>
<?php
$sql = 'SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, [PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY]);
$sth->execute(['calories' => 150, 'colour' => 'red']);
$red = $sth->fetchAll();
 
$sth->execute([':calories' => 175, ':colour' => 'yellow']);
$yellow = $sth->fetchAll();
?>
</pre>
 
==== Exempel #2 SQL-mall med frågetecken som parametermarkörer ====
<pre>
<?php
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute([150, 'red']);
$red = $sth->fetchAll();
 
$sth->execute([175, 'yellow']);
$yellow = $sth->fetchAll();
?>
</pre>
 
==== Exempel #3 SQL-mall med undantagna frågetecken ====
<pre>
<?php
/* Endast giltigt på PostgreSQL */
$sth = $dbh->prepare('SELECT * FROM issues WHERE tag::jsonb ?? ?');
$sth->execute(['feature']);
$featureIssues = $sth->fetchAll();
 
$sth->execute(['performance']);
$performanceIssues = $sth->fetchAll();
?>
</pre>
 
=== Se även ===
* [[PDO::exec()]] - Exekverar ett SQL-uttryck och returnerar antalet påverkade rader
* [[PDO::query()]] - Förbereder och exekverar ett SQL-uttryck utan platshållare
* [[PDOStatement::execute()]] - Exekverar ett förberett uttalande
 
= Sidslut =
 
Orginalhemsidan på Engelska :https://www.php.net/manual/en/pdo.prepare.php
<BR>[[PHP]]
[[Funktioner]]
[[Funktionsreferens]]
[[Databas-tillägg]]
 
<HR>
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/
<BR><BR>Tack till [https://datorhjalp.se/huddinge  Huddinge Datorhjälp ] som har  sponsrat [https://www.linux.se Linux.se] med webbhotell.
 
[[Kategori:Php]]
[[Kategori:Databas-tillägg]]

Nuvarande version från 22 december 2024 kl. 18.15

Omdirigering till: