1, Utilisation de l'instruction SQL préparée préparée
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/3/5 0005 * Time: 上午 9:23 */ header("Content-Type:text/html;charset=utf-8"); //mysql:host:localhost;port=3306;dbname=php;charset=utf-8 $dbms='mysql'; $host='localhost'; $port='3306'; $dbname='php'; $charset='utf-8'; //用户名与密码 $user='root'; $pwd='root'; $dsn="$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset"; try{ $pdo=new PDO($dsn,$user,$pwd); //预处理sql语句 $stmt=$pdo->prepare("insert into book(name,author)values(?,?)"); }catch (PDOException $exception){ echo $exception->getMessage().'<br>'; }
2, Liaison de paramètres
<?php $name='java基础教程'; $author='smile4'; $stmt->bindParam(1,$name); $stmt->bindParam(2,$author);
3, Exécuter les instructions préparées
<?php $stmt->execute();
Tous les codes sont les suivants :
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/3/5 0005 * Time: 上午 9:23 */ header("Content-Type:text/html;charset=utf-8"); //mysql:host:localhost;port=3306;dbname=php;charset=utf-8 $dbms='mysql'; $host='localhost'; $port='3306'; $dbname='php'; $charset='utf-8'; //用户名与密码 $user='root'; $pwd='root'; $dsn="$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset"; try{ $pdo=new PDO($dsn,$user,$pwd); //预处理sql语句 $stmt=$pdo->prepare("insert into book(name,author)values(?,?)"); $name='java基础教程'; $author='smile4'; $stmt->bindParam(1,$name); $stmt->bindParam(2,$author); $stmt->execute(); //$sql='select *from book'; //$result=$pdo->query($sql); //$row=$result->fetchAll(); //echo "<pre>"; //print_r($row); //echo "</pre>"; }catch (PDOException $exception){ echo $exception->getMessage().'<br>'; }
Affichage du résultat de l'exécution du navigateur :
Réflexion : Comment ajouter des données par lots et empêcher l'injection SQL ? (Sera présenté dans les deux prochaines sections)