Frage:
Sind die PDO-Methoden query() undexecute( ) Methoden im Wesentlichen austauschbar oder unterscheiden sie sich erheblich?
Antwort:
Während beide Methoden Datenbankabfragen durchführen, weisen sie einige grundlegende Unterschiede auf:
query() vsexecute()
Beispiel für eine vorbereitete Anweisung:
<code class="php">$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'); $sth->bindParam(':calories', $calories); $sth->bindParam(':colour', $colour); $sth->execute();</code>
In diesem Fall tun dies die Variablen $calories und $colour Sie müssen nicht maskiert oder in Anführungszeichen gesetzt werden, da sie von der Abfrage getrennt sind.
Empfehlung:
Für erhöhte Sicherheit empfiehlt es sich, vorbereitete Anweisungen mit „execute“ zu verwenden( ). Dadurch wird sichergestellt, dass vom Benutzer bereitgestellte Daten nicht anfällig für SQL-Injection-Angriffe sind.
Das obige ist der detaillierte Inhalt vonPDOs query() undexecute(): Austauschbar oder eindeutig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!