Maison >développement back-end >tutoriel php >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('mysql:host=localhost;dbname=phps','root',''); // 获得用户名 $username = 'phpforphp'; $stmt = $db->prepare("SELECT * FROM users WHERE user = :username"); // 使用bindParam函数 $stmt->bindParam(':username', $username); $username = 'g4g'; $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('mysql:host=localhost;dbname=phps','root',''); // 获得用户名 $username = 'phpforphp'; $stmt = $db->prepare("SELECT * FROM users WHERE user = :username"); // 使用bindValue函数 $stmt->bindValue(':username', $username); $username = 'g4g'; $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!