Maison  >  Article  >  développement back-end  >  La différence entre bindParam et bindValue en PHP

La différence entre bindParam et bindValue en PHP

藏色散人
藏色散人original
2019-02-22 10:23:023720parcourir

La différence entre bindParam et bindValue en PHP

PDOStatement::bindParam() la fonction est une fonction intégrée en PHP qui est utilisée pour lier des paramètres à un nom de variable spécifié . Cette fonction lie une variable, transmet sa valeur en entrée et reçoit la valeur de sortie de sa balise d'argument associée, le cas échéant.

Syntaxe :

bool PDOStatement::bindParam
( $parameter, $variable, $data_type, $length, $driver_options )

Paramètres : Cette fonction accepte cinq paramètres comme mentionné ci-dessus, comme décrit ci-dessous :

$paramètre : C'est un identifiant de paramètre, utilisé pour préparer déclarations avec des espaces réservés pour le nom. C'est le nom du paramètre du formulaire : name.

$variable : Ce paramètre est utilisé pour enregistrer le nom de la variable à lier au paramètre de l'instruction SQL.

$data_type : C'est le type de données explicite des paramètres utilisant les constantes PDO::PARAM_*.

$length : Ce paramètre est utilisé pour enregistrer la longueur du type de données.

$driver_options : Ce paramètre enregistre les opérations qui doivent être effectuées.

Valeur de retour : cette fonction renvoie True en cas de succès et false en cas d'échec.

Programme :

<?php   
  
// 设置PDO连接 
$db = new PDO(&#39;mysql:host=localhost;dbname=phps&#39;,&#39;root&#39;,&#39;&#39;);  
  
// 获得用户名
$username = &#39;phpforphp&#39;; 
     
$stmt = $db->prepare("SELECT * FROM users WHERE user = :username"); 
  
// 使用bindParam函数
$stmt->bindParam(&#39;:username&#39;, $username); 
   
 $username = &#39;g4g&#39;; 
     
 $stmt->execute(); 
?>

Remarque : L'instruction SQL sera exécutée en utilisant 'g4g' comme nom d'utilisateur car : le nom d'utilisateur est recherché pour $username au moment de l'exécution et la dernière valeur connue de $ le nom d'utilisateur est 'g4g'. La fonction

PDOStatement::bindValue() est une fonction intégrée en PHP qui est utilisée pour lier une valeur à un paramètre. Cette fonction lie une valeur à l'espace réservé nommé ou point d'interrogation correspondant dans SQL utilisé pour les instructions préparées.

Syntaxe :

bool PDOStatement::bindValue( $parameter, $value, $data_type )

Paramètres : Cette fonction accepte les trois paramètres ci-dessus comme décrit ci-dessous :

$paramètre : Il s'agit d'un identifiant de paramètre utilisé pour nommer l'instruction préparée par un espace réservé. . C'est le nom du paramètre du formulaire : name.

$value : Ce paramètre est utilisé pour enregistrer la valeur du paramètre de liaison.

$data_type : C'est le type de données explicite des paramètres utilisant les constantes PDO::PARAM_*.

Valeur de retour : cette fonction renvoie True en cas de succès et False en cas d'échec.

Programme :

<?php   
  
// 设置PDO连接
$db = new PDO(&#39;mysql:host=localhost;dbname=phps&#39;,&#39;root&#39;,&#39;&#39;);  
  
// 获得用户名
$username = &#39;phpforphp&#39;; 
    
$stmt = $db->prepare("SELECT * FROM users WHERE user = :username"); 
  
// 使用bindValue函数
$stmt->bindValue(&#39;:username&#39;, $username); 
  
$username = &#39;g4g&#39;; 
    
$stmt->execute(); 
?>

Remarque : L'instruction SQL sera exécutée en utilisant 'g4g' comme nom d'utilisateur car la valeur littérale "phpforphp" est liée à : bindValue ( ) fonction avant le nom d’utilisateur. Les modifications ultérieures apportées à $username ne seront pas reflétées dans la déclaration préparée.

La différence entre bindParam() et bindValue() :

bindParam()

la fonction bindParam() sera Paramètres sont liés à des espaces réservés nommés ou à des points d'interrogation dans l'instruction SQL.

La fonction bindParam() est utilisée pour transmettre des variables au lieu de valeurs. La fonction

bindValue()

bindValue() lie une valeur à un nom ou à un point d'interrogation dans une instruction SQL.

La fonction bindValue() est utilisée pour transmettre des valeurs et des variables.

Recommandé : "Tutoriel PHP"http://www.php.cn/course/list/29.html

Cet article Cet est une introduction à la différence entre bindParam et bindValue en PHP. J'espère que cela sera utile aux amis qui en ont besoin

.

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!

Déclaration:
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