Heim > Datenbank > MySQL-Tutorial > Hauptteil

Führen Sie SQL-Anweisungen im PDO aus

黄舟
Freigeben: 2017-02-25 10:33:23
Original
1607 Leute haben es durchsucht

exec()-Methode

Die exec()-Methode gibt die Anzahl der betroffenen Zeilen nach der Ausführung zurück. Die Syntax lautet wie folgt:

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

ParameterAnweisung ist die auszuführende SQL-Anweisung. Diese Methode gibt die Anzahl der betroffenen Zeilen zurück, wenn die Abfrage ausgeführt wird, und wird normalerweise in INSERT-, DELETE- und UPDATE-Anweisungen verwendet.

Zum Beispiel:

$dbms='mysql';//数据库类型
$dbName='admin';//使用的数据库
$user='root';//数据库连接用户名
$pwd='password';//数据库连接密码
$host='localhost';//数据库主机名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
$pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo
$query="insert into user(username,password) values('admin','123456')";//需要执行的sql语句
$res=$pdo->exec($query);//执行添加语句并返回受影响行数
echo "数据添加成功,受影响行数为: ".$res;
}catch(Exception $e){
die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
Nach dem Login kopieren

Das laufende Ergebnis ist:

数据添加成功,受影响行数为:
 1
Nach dem Login kopieren

query()-Methode

Die Methode query() wird verwendet, um die Ergebnismenge nach der Ausführung der Abfrage zurückzugeben. Die Syntax lautet wie folgt:

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

Parameteranweisung ist die auszuführende SQL-Anweisung. Es gibt ein PDOStatement-Objekt zurück

Zum Beispiel:

$dbms=&#39;mysql&#39;;
$dbName=&#39;admin&#39;;
$user=&#39;root&#39;;
$pwd=&#39;905407339&#39;;
$host=&#39;localhost&#39;;
$dsn="$dbms:host=$host;port=3306;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 laufende Ergebnis ist:

PDOStatement
 Object ( [queryString] => select * from user )
Nach dem Login kopieren

Wenn Sie es sich ansehen möchten die spezifische Abfrage Als Ergebnis kann die Schleifenausgabe durch die foreach-Anweisung abgeschlossen werden

Zum Beispiel:

foreach($res as $val){
echo $val[&#39;username&#39;]."----".$val[&#39;password&#39;].&#39;<br>&#39;;
}
Nach dem Login kopieren

Das laufende Ergebnis ist:

107lab----e10adc3949ba59abbe56e057f20f883e
admin----123456
Nach dem Login kopieren

Hinweis: Wenn Sie die Details von foreach anzeigen möchten, überprüfen Sie bitte die Verwendung: http://www.php.cn/

query() und exec()

query可以实现所有exec的功能
Nach dem Login kopieren

Zum Beispiel:

$dbms=&#39;mysql&#39;;//数据库类型
$dbName=&#39;admin&#39;;//使用的数据库
$user=&#39;root&#39;;//数据库连接用户名
$pwd=&#39;905407339&#39;;//数据库连接密码
$host=&#39;localhost&#39;;//数据库主机名
$dsn="$dbms:host=$host;port=3306;dbname=$dbName";
try{
$pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo
$query="insert into user(username,password) values(&#39;admin&#39;,&#39;123456&#39;)";//需要执行的sql语句
$res=$pdo->query($query);//执行添加语句并返回受影响行数
echo "数据添加成功,受影响行数为: ".$res->rowCount();
}catch(Exception $e){
die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
Nach dem Login kopieren

运行结果为:

数据添加成功,受影响行数为: 1
Nach dem Login kopieren

注:

1、query和exec都可以执行所有的sql语句,只是返回值不同而已。

2、query可以实现所有exec的功能。

3、当把select语句应用到 exec 时,总是返回 0

预处理语句----prepare()语句和execute()语句

预处理语句包括prepare()和execute()两种方法。首先,通过prepare()方法做查询准备工作,然后通过execute()方法执行查询,并且还可以通过bindParam()方法来绑定参数给execute()方法,语法如下:

PDOStatement
 PDO::prepare(string statement[,array driver_options])
bool
 PDOStatement::execute([array input_parameters])
Nach dem Login kopieren

例如:

在PDO中通过预处理语句prepare()和execute()执行SQL查询语句,并且应用while()语句和fetch()方法完成数据的循环输出

$dbms=&#39;mysql&#39;;//数据库类型
$dbName=&#39;admin&#39;;//使用的数据库
$user=&#39;root&#39;;//数据库连接用户名
$pwd=&#39;905407339&#39;;//数据库连接密码
$host=&#39;localhost&#39;;//数据库主机名
$dsn="$dbms:host=$host;port=3306;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

运行结果为:

1
 107lab e10adc3949ba59abbe56e057f20f883e
4 admin 123456
5 admin 123456
Nach dem Login kopieren

关于PDO中获取结果集的方法正在创作阶段,敬请期待。


 以上就是PDO中执行SQL语句的内容,更多相关内容请关注PHP中文网(www.php.cn)!



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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!