Maison > développement back-end > tutoriel php > Analyse de la méthode prepare() en PHP

Analyse de la méthode prepare() en PHP

autoload
Libérer: 2023-04-09 22:28:01
original
6208 Les gens l'ont consulté

Analyse de la méthode prepare() en PHP

Chaque fois qu'une instruction de requête est envoyée au service MySQL, la syntaxe de la requête doit être analysée pour garantir que la structure est correcte et peut être exécutée. Il s’agit d’une étape nécessaire du processus, mais elle entraîne des frais généraux. Il est nécessaire de le faire une fois, mais si vous exécutez la même requête à plusieurs reprises et modifiez les valeurs des colonnes uniquement lors de l'insertion de plusieurs lignes par lots, l'instruction préparée mettra en cache la syntaxe et le processus d'exécution de la requête sur le serveur, et seulement transférer les données entre le serveur et le client. en modifiant les valeurs des colonnes pour éliminer cette surcharge supplémentaire.

Tout d'abord, examinons la syntaxe de PDO::prepare :

public PDO::prepare ( string $statement   , array $driver_options = array()   ) : PDOStatement
Copier après la connexion
  • $statement : doit être un modèle d'instruction SQL valide pour le serveur de base de données cible.

  • $driver_options : Le tableau contient une ou plusieurs paires clé-valeur key=>value, définissez les propriétés de l'objet PDOStatement renvoyé

  • Valeur de retour Si le serveur de base de données termine la préparation de l'instruction, l'objet PDOStatement est renvoyé. Si le serveur de base de données ne peut pas préparer l'instruction, PDO::prepare() renvoie false ou renvoie PDOException (selon le gestionnaire d'erreurs).

Exemple de code :

1. Connectez-vous à la base de données

<?php
$servername="localhost";
$username="root";
$password="root123456";
$dbname="my_database";
$pdo=new PDO("mysql:host=$servername;dbname=$dbname",$username,$password);
echo "连接成功"."<br>";
$pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER);
Copier après la connexion
输出:连接成功
Copier après la connexion

2. Utilisez les paramètres de point d'interrogation pour préparer les instructions SQL

$sql ="select * from fate where `id`=?";
$statement=$pdo->query("select * from fate where `id`=3 ");
var_dump($statement->fetch());

echo "<br>";
$stmt2 = $pdo->prepare($sql);
$stmt2 ->execute(array(3));
var_dump($stmt2->fetch());
Copier après la connexion
rrree

3.Utilisez les paramètres nommés pour préparer les instructions SQL

输出:array(6) {["ID"]=>string(1) "3"0]=>string(1) "3"["NAME"]=>string(7) "luncher"[1]=>string(7) "luncher"["AGE"]=>string(2) "56"[2]=>string(2) "56"}
array(6) {["ID"]=>string(1) "3"[0]=>string(1) "3"["NAME"]=>string(7) "luncher"[1]=>string(7) "luncher"["AGE"]=>string(2) "56"[2]=>string(2) "56"}
Copier après la connexion
$query = "insert into tp_user (id,name,gender)values(:id,:name ,:gender)";
//准备语句
$stmt1 = $pdo->prepare($query);
// 执行查询
$stmt1->execute(array(&#39;id&#39;=> 1,&#39;:name&#39; => &#39;张三&#39;, &#39;:gender&#39; => &#39;男&#39;));
//再次执行
$stmt1->execute(array(&#39;id&#39;=> 2,&#39;:name&#39; => &#39;李四&#39;, &#39;:gender&#39; => &#39;女&#39;));
echo "插入成功!","<br>";
Copier après la connexion

Recommandé : Résumé des questions d'entretien PHP 2021 (collection)》《tutoriel vidéo php

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal