Heim > Backend-Entwicklung > PHP-Tutorial > Drei Möglichkeiten, SQL-Anweisungen in PDO auszuführen

Drei Möglichkeiten, SQL-Anweisungen in PDO auszuführen

黄舟
Freigeben: 2023-03-07 17:18:02
Original
9762 Leute haben es durchsucht

Drei Möglichkeiten zum Ausführen von SQL-Anweisungen in PDO

In PDO können wir drei Möglichkeiten zum Ausführen von SQL-Anweisungen verwenden, nämlich die Methode exec() und die Methode query , und vorbereitete Anweisungsmethoden „prepare()“ und „execute()“~

Im vorherigen Artikel „Verwenden des PDO-Konstruktors zum Herstellen einer Verbindung mit Datenbank und DSN, ausführliche Erklärung“, haben wir vorgestellt Jetzt haben wir eine Ausführliche Erläuterung der Verwendung von Konstruktoren zum Verbinden von Datenbanken und DSNs. In diesem Artikel werden Ihnen drei Möglichkeiten zum Ausführen von SQL-Anweisungen in PDO vorgestellt. Wir werden sie im Folgenden einzeln vorstellen!

Die erste Methode: exec()-Methode

Die exec()-Methode gibt die Anzahl der betroffenen Zeilen nach der Ausführung der SQL-Anweisung zurück, it Syntax Das Format ist wie folgt:

int PDO::exec(string statement)
Nach dem Login kopieren

Der Parameter satament ist die auszuführende SQL-Anweisung. Diese Methode gibt die Anzahl der betroffenen Zeilen zurück, wenn die SQL-Anweisung ausgeführt wird. Sie wird normalerweise in INSERT, DELETE und verwendet UPDATE-Anweisungen. Im Folgenden verwenden wir zur Erläuterung einen spezifischen Code. Der Code lautet wie folgt:

<?php
header("Content-Type:text/html; charset=utf-8");    //设置页面的编码格式
$dbms = "mysql";                                  // 数据库的类型
$dbName ="php_cn";                                //使用的数据库名称
$user = "root";                                   //使用的数据库用户名
$pwd = "root";                                    //使用的数据库密码
$host = "localhost";                              //使用的主机名称
$dsn  = "$dbms:host=$host;dbName=$dbName ";
try{                                             //捕获异常
    $pdo = new PDO($dsn,$user,$pwd);             //实例化对象
    $query="insert into user(username,password) values(&#39;php&#39;,&#39;523&#39;)";//需要执行的sql语句
    $res=$pdo->exec($query);//执行添加语句并返回受影响行数
    echo "数据添加成功,受影响行数为: ".$res;
}catch(Exception $e){
    die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
?>
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Drei Möglichkeiten, SQL-Anweisungen in PDO auszuführen

Zweitens Methode: query()-Methode

query()-Methode wird verwendet, um die Ergebnismenge nach der Ausführung der Abfrage zurückzugeben. Das Syntaxformat dieser Funktion ist wie folgt:

PDOStatement PDO::query(string statement)
Nach dem Login kopieren

Der Parameter satatement soll sein. Die ausgeführte SQL-Anweisung gibt ein PODStatement-Objekt zurück! Einzelheiten finden Sie im folgenden Beispielcode:

<?php
header("Content-Type:text/html; charset=utf-8");    //设置页面的编码格式
$dbms = "mysql";                                  // 数据库的类型
$dbName ="php_cn";                                //使用的数据库名称
$user = "root";                                   //使用的数据库用户名
$pwd = "root";                                    //使用的数据库密码
$host = "localhost";                              //使用的主机名称
$dsn  = "$dbms:host=$host;dbName=$dbName ";
try{
    $pdo=new PDO($dsn,$user,$pwd);
    $query="select * from user";
    $res=$pdo->query($query);
    print_r($res);
}catch(Exception $e){
    die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
?>
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Drei Möglichkeiten, SQL-Anweisungen in PDO auszuführen

Hinweis:

1. Sowohl query als auch exec können alle SQL-Anweisungen ausführen, die Rückgabewerte sind jedoch unterschiedlich.

2. Die Abfrage kann alle Exec-Funktionen realisieren.

3. Wenn Sie die SELECT-Anweisung auf exec anwenden, wird immer 0 zurückgegeben

4 Abfrage können Sie die Schleifenausgabe über die foreach-Anweisung abschließen

Die dritte Methode: vorbereitete Anweisungen: Prepare()-Anweisung undexecute()-Anweisung

Vorbereitete Anweisungen umfassen die Methoden „prepare()“ und „execute()“. Bereiten Sie die Abfrage zunächst über die Methode „prepare()“ vor und führen Sie sie dann über die Methode „execute()“ aus. Sie können Parameter auch über die Methode „bindParam()“ an die Methode „execute()“ binden >

PDOStatement PDO::prepare(string statement[,array driver_options])
bool PDOStatement::execute([array input_parameters])
Nach dem Login kopieren
Führen Sie SQL-Abfrageanweisungen in PDO über die vorbereiteten Anweisungen „prepare()“ und „execute()“ aus und verwenden Sie Schleifen, um die Daten in einer Schleife auszulesen:

<?php
header("Content-Type:text/html; charset=utf-8");    //设置页面的编码格式
$dbms = "mysql";                                  // 数据库的类型
$dbName ="php_cn";                                //使用的数据库名称
$user = "root";                                   //使用的数据库用户名
$pwd = "root";                                    //使用的数据库密码
$host = "localhost";                              //使用的主机名称
$dsn  = "$dbms:host=$host;dbname=$dbName";
try{
    $pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo
    $query="select * from user";//需要执行的sql语句
    $res=$pdo->prepare($query);//准备查询语句
    $res->execute();
    while($result=$res->fetch(PDO::FETCH_ASSOC)){
        echo $result[&#39;id&#39;]." ".$result[&#39;username&#39;]." ".$result[&#39;password&#39;].&#39;<br>&#39;;
    }
}catch(Exception $e){
    die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
Nach dem Login kopieren
Die Ausgabeergebnisse lauten wie folgt:

Drei Möglichkeiten, SQL-Anweisungen in PDO auszuführen

Die drei Methoden zur Ausführung von SQL in PDO werden hier vorgestellt. Ist es sehr einfach? Freunde können es lokal testen . Als Nächstes stellen wir Ihnen weiterhin die Methode zum Abrufen der Ergebnismenge in PDO vor. Weitere Informationen finden Sie unter „

Ausführliche Erläuterung der Methode fetch() zum Abrufen der Ergebnismenge in PDO“!

Das obige ist der detaillierte Inhalt vonDrei Möglichkeiten, SQL-Anweisungen in PDO auszuführen. 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