<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Prepared_Statement</id>
	<title>Prepared Statement - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Prepared_Statement"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Prepared_Statement&amp;action=history"/>
	<updated>2026-05-26T07:31:30Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Prepared_Statement&amp;diff=1008664&amp;oldid=prev</id>
		<title>imported&gt;RolandIllig: Code aufgeräumt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Prepared_Statement&amp;diff=1008664&amp;oldid=prev"/>
		<updated>2021-07-14T21:41:00Z</updated>

		<summary type="html">&lt;p&gt;Code aufgeräumt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ein &amp;#039;&amp;#039;&amp;#039;Prepared Statement&amp;#039;&amp;#039;&amp;#039; ist eine sogenannte vorbereitete Anweisung für ein [[Datenbanksystem]].&lt;br /&gt;
Im Gegensatz zu gewöhnlichen Statements enthält es noch keine Parameterwerte. Stattdessen werden dem Datenbanksystem Platzhalter übergeben.&lt;br /&gt;
&lt;br /&gt;
Mittels Prepared Statements können [[SQL-Injection]]s effektiv verhindert werden, da das Datenbanksystem die Gültigkeit von Parametern prüft, bevor diese verarbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Soll ein Statement mit unterschiedlichen Parametern mehrere Male (z.&amp;amp;nbsp;B. innerhalb einer Schleife) auf dem Datenbanksystem ausgeführt werden, können Prepared Statements einen Geschwindigkeitsvorteil bringen, da das Statement schon vorübersetzt im Datenbanksystem vorliegt und nur noch mit den neuen Parametern ausgeführt werden muss.&lt;br /&gt;
&lt;br /&gt;
Beispiel eines Prepared Statement in Java:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Statement wird erzeugt&lt;br /&gt;
PreparedStatement ps = connection.prepareStatement(&lt;br /&gt;
    &amp;quot;SELECT user, password FROM tbl_user WHERE user = ?&amp;quot;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
// Parameter werden übergeben&lt;br /&gt;
ps.setString(1, username);&lt;br /&gt;
&lt;br /&gt;
// Statement wird ausgeführt.&lt;br /&gt;
ResultSet rs = ps.executeQuery();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel eines Prepared Statement in PHP mit [[PHP Data Objects]]&amp;lt;ref&amp;gt;{{Internetquelle | url=https://www.php.net/manual/de/pdo.prepared-statements.php | titel=Prepared Statements und Stored Procedures | zugriff=2011-09-25}}&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$stmt = $dbh-&amp;gt;prepare(&amp;#039;SELECT user, password FROM tbl_user WHERE user = :user&amp;#039;);&lt;br /&gt;
$stmt-&amp;gt;bindParam(&amp;#039;:user&amp;#039;, $user);&lt;br /&gt;
&lt;br /&gt;
// eine Zeile abfragen&lt;br /&gt;
$user = &amp;#039;Alice&amp;#039;;&lt;br /&gt;
$stmt-&amp;gt;execute();&lt;br /&gt;
&lt;br /&gt;
// eine weitere Zeile mit anderen Werten abfragen&lt;br /&gt;
$user = &amp;#039;Bob&amp;#039;;&lt;br /&gt;
$stmt-&amp;gt;execute();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [https://kushellig.de/prepared-statements-php-mysqli/ Ausführliches Prepared-Statements-Tutorial (PHP und mysqli)]&lt;br /&gt;
* [https://www.sjmp.de/wp-content/uploads/2011/03/PHP-MySQL-Mehr-Sicherheit-und-erhoehte-Performance-durch-MySQLi-und-Prepared-Statements-IT-Grundschutz-hakin9-03-2011.pdf &amp;#039;&amp;#039;PHP/MySQL: Mehr Sicherheit und erhöhte Performance durch MySQLi und Prepared Statements&amp;#039;&amp;#039;.] (PDF; 419&amp;amp;nbsp;kB)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:SQL]]&lt;/div&gt;</summary>
		<author><name>imported&gt;RolandIllig</name></author>
	</entry>
</feed>