Trois façons d'exécuter des instructions SQL dans PDO
Dans PDO, nous pouvons utiliser trois façons d'exécuter des instructions SQL, à savoir la méthode exec(), la méthode de requête , et les méthodes d'instruction préparée préparer() et exécuter()~
Dans l'article précédent "Utilisation du constructeur PDO pour se connecter à la base de données et explication détaillée DSN", nous avons présenté Maintenant que nous avons un explication détaillée de la façon d'utiliser les constructeurs pour connecter des bases de données et des DSN, cet article vous présentera trois façons d'exécuter des instructions SQL dans PDO. Nous les présenterons une par une ci-dessous !
La première méthode : méthode exec()
La méthode exec() renvoie le nombre de lignes affectées après l'exécution de l'instruction SQL, son syntaxe Le format est le suivant :
int PDO::exec(string statement)
Le paramètre satatement est l'instruction SQL à exécuter. Cette méthode renvoie le nombre de lignes affectées lors de l'exécution de l'instruction SQL. Elle est généralement utilisée dans INSERT, DELETE et. Instructions UPDATE. Ci-dessous, nous utilisons un code spécifique pour expliquer, le code est le suivant :
<?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('php','523')";//需要执行的sql语句 $res=$pdo->exec($query);//执行添加语句并返回受影响行数 echo "数据添加成功,受影响行数为: ".$res; }catch(Exception $e){ die("Error!:".$e->getMessage().'<br>'); } ?>
Le résultat de sortie est :
Deuxième méthode : méthode query ()
La méthode query() est utilisée pour renvoyer l'ensemble de résultats après l'exécution de la requête. Le format de syntaxe de cette fonction est le suivant :
PDOStatement PDO::query(string statement)
Le paramètre satation doit être L'instruction SQL exécutée renvoie un objet PODStatement ! Pour plus de détails, veuillez consulter l'exemple de code ci-dessous :
<?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().'<br>'); } ?>
Le résultat de sortie est :
Remarque :
1. query et exec peuvent exécuter toutes les instructions SQL, mais les valeurs de retour sont différentes.
2. Query peut réaliser toutes les fonctions d'exécution.
3. Lors de l'application de l'instruction select à exec, elle renvoie toujours 0
4. requête, vous pouvez compléter la sortie de la boucle via l'instruction foreach
La troisième méthode : instructions préparées : instruction prepare() et instruction perform()
Les instructions préparées incluent deux méthodes : préparer() et exécuter(). Tout d'abord, préparez la requête via la méthode prepare(), puis exécutez la requête via la méthodeexecute(). Vous pouvez également lier les paramètres à la méthodeexecute() via la méthode bindParam(). >
PDOStatement PDO::prepare(string statement[,array driver_options]) bool PDOStatement::execute([array input_parameters])
<?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['id']." ".$result['username']." ".$result['password'].'<br>'; } }catch(Exception $e){ die("Error!:".$e->getMessage().'<br>'); }
Explication détaillée de la méthode fetch() pour obtenir l'ensemble de résultats dans PDO" !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!