Heim > Backend-Entwicklung > PHP-Problem > So implementieren Sie eine PHP-PDO-parametrisierte Abfrage

So implementieren Sie eine PHP-PDO-parametrisierte Abfrage

藏色散人
Freigeben: 2023-03-12 19:16:02
Original
2134 Leute haben es durchsucht

In PHP können Sie die Prepare-Methode verwenden, um PDO-parametrisierte Abfragen durchzuführen. Diese Methode gibt ein PDOStatement-Objekt zurück und verwendet dabei eine Syntax wie „prepare('SELECT login_oid FROM login_id WHERE user_id=...“.

So implementieren Sie eine PHP-PDO-parametrisierte Abfrage

Die Funktionsweise dieses Artikels Umgebung: Windows 7-System, PHP7.1, Dell G3-Computer

Wie implementiert man eine parametrisierte Abfrage in PHP PDO?

PDO-parametrisierte Abfrage Prepare() PHP verhindert SQL-Injection

Parameterisierte Abfrage In PDO wird hauptsächlich die Methode Prepare () verwendet, und diese Methode gibt dann ein PDOStatement-Objekt zurück, bei dem es sich um eine SQL-Anweisung handelt (ich weiß nicht, wie ich sie übersetzen soll). Zu diesem Zeitpunkt wird die SQL-Anweisung nur kompiliert, aber nicht ausgeführt . Nach dem Aufruf der Methode in PDOStatement wird die SQL-Anweisung ausgeführt, wie im folgenden Beispiel gezeigt:

$sm = $db->prepare('SELECT login_oid FROM logined WHERE user_id=:user_id;');
$sm->bindValue(':user_id', $user_id, PDO::PARAM_INT);
$sm -> execute();
Nach dem Login kopieren

Bevor „execute()“ ausgeführt wird, können Sie die Methode „bindValue()“ oder „bindParam()“ aufrufen, um die von Ihnen angegebenen Parameter zu ersetzen In der zuvor vorbereiteten SQL-Anweisung gibt es zwei Möglichkeiten, Parameter in der SQL-Anweisung anzugeben: „:name“ und „?“. Die erstere Methode wird im obigen Code verwendet und die letztere Methode lautet:

$sm = $db->prepare(&#39;SELECT * FROM fruit WHERE calories < ?;&#39;);
$sm->bindValue(1, $calories, PDO::PARAM_INT);
$sm->execute();
Nach dem Login kopieren

bindValue() hat drei Parameter, der erste gibt an, welcher Parameter in der SQL-Anweisung ersetzt werden soll, und der zweite gibt die Ersetzung an. Nach dem Wert gibt der dritte den Typ des Werts an. Die Typkorrespondenz lautet wie folgt:

PDO::PARAM_BOOL
Nach dem Login kopieren

Boolescher Typ

PDO::PARAM_NULL
Nach dem Login kopieren

NULL-Typ

PDO::PARAM_INT
Nach dem Login kopieren

Integer-Typ

PDO::PARAM_STR
Nach dem Login kopieren

String-Typen wie CHAR, VARCHAR, String

PDO::PARAM_LOB
Nach dem Login kopieren

Ressourcenklasse großes Objekt, wie Dateien usw.

PDO::PARAM_STMT
Nach dem Login kopieren

Ich weiß es nicht

PDO::PARAM_INPUT_OUTPUT
Nach dem Login kopieren

Das Scheint ein erweiterter Typ zu sein

Es ist kein echter Zahlentyp enthalten, was sehr überraschend ist.

Lassen Sie uns über die Methode „execute()“ sprechen. Sie kann auch Parameter ersetzen, aber sie ändert die Typen aller Werte ​​wie folgt in String-Typen umwandeln:

Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine PHP-PDO-parametrisierte Abfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage