Maison > développement back-end > Problème PHP > Comment implémenter une requête paramétrée php pdo

Comment implémenter une requête paramétrée php pdo

藏色散人
Libérer: 2023-03-12 19:16:02
original
2194 Les gens l'ont consulté

En PHP, vous pouvez utiliser la méthode prepare pour effectuer des requêtes paramétrées PDO. Cette méthode renverra un objet PDOStatement, en utilisant une syntaxe telle que "prepare('SELECT login_oid FROM connecté WHERE user_id=...".

Comment implémenter une requête paramétrée php pdo

Le fonctionnement de cet article Environnement : système Windows 7, PHP7.1, ordinateur Dell G3

Comment implémenter une requête paramétrée dans php pdo ?

La requête paramétrée PDO prepare() php empêche l'injection SQL

Requête paramétrée. dans PDO utilise principalement la méthode prepare(), puis cette méthode renverra un objet PDOStatement, qui est une instruction SQL (je ne sais pas comment la traduire). Pour le moment, l'instruction SQL est uniquement compilée, mais pas exécutée).

$sm = $db->prepare('SELECT login_oid FROM logined WHERE user_id=:user_id;');
$sm->bindValue(':user_id', $user_id, PDO::PARAM_INT);
$sm -> execute();
Copier après la connexion

Avant d'exécuter(), vous pouvez appeler la méthode bindValue() ou bindParam() pour remplacer les paramètres que vous avez spécifiés. dans l'instruction SQL préparée précédemment. Il existe deux manières de spécifier des paramètres dans l'instruction SQL : ':name' et ' ?', la première méthode est utilisée dans le code ci-dessus et la seconde méthode est :

$sm = $db->prepare(&#39;SELECT * FROM fruit WHERE calories < ?;&#39;);
$sm->bindValue(1, $calories, PDO::PARAM_INT);
$sm->execute();
Copier après la connexion

bindValue() a trois paramètres, le premier spécifie quel paramètre de l'instruction SQL doit être remplacé et le second spécifie le remplacement. Après la valeur, le troisième spécifie le type de la valeur. La correspondance de type est la suivante :

PDO::PARAM_BOOL
Copier après la connexion

. Type booléen

PDO::PARAM_NULL
Copier après la connexion

Type NULL

PDO::PARAM_INT
Copier après la connexion

Type entier

PDO::PARAM_STR
Copier après la connexion

Types de chaîne tels que CHAR, VARCHAR, string

PDO::PARAM_LOB
Copier après la connexion

Objet volumineux de classe de ressources, tels que des fichiers, etc.

PDO::PARAM_STMT
Copier après la connexion

Je ne sais pas

PDO::PARAM_INPUT_OUTPUT
Copier après la connexion

Ceci semble être un type étendu

Il n'y a pas de type de nombre réel fourni, ce qui est très surprenant.

Parlons de la méthode exécuter() Elle peut également effectuer une substitution de paramètres, mais elle modifiera les types de toutes les valeurs. ​​en types de chaînes, comme suit

$sm = $db->prepare(&#39;SELECT * FROM fruit WHERE calories < ?;&#39;);
$sm->execute(array($calories));
Copier après la connexion

Le remplacement de plusieurs paramètres est le suivant

$sm = $db->prepare(&#39;SELECT * FROM fruit WHERE calories < ?, id < ?;&#39;);
$sm->execute(array($calories, $user_id));
Copier après la connexion

Apprentissage recommandé : "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