<?php
$db = new PDO($dsn,$username,$password);
$uname='avi';
$age=19;
$stmt = $db->prepare('INSERT INTO table(uname,age) VALUES(:uname,:age)');
$stmt->execute(array(':uname'=>$uname,':age'=>$age));
$stmt = $db->prepare('INSERT INTO table(uname,age) VALUES(?,?)');
$stmt->execute(array($uname,$age));
$stmt = $db->prepare('INSERT INTO table(uname,age) VALUES(:uname,:age)');
$stmt->bindValue(':uname',$uname); //can be $uname or just 'avi'
$stmt->binParam(':age',$uname); //cannot be 'avi' or value only
$stmt->execute();
?>
Когда мы должны использовать bindParam()
? Все предыдущие методы кажутся более легкими и требуют меньше строк кода.Что различия и преимущества между bindParam(), bindValue() и выполнение (массив())
В чем преимущество использования bindParam()
по другим методам (bindValue()
, execute()
)?
почему винты, когда вы могли бы просто использовать гвозди? Это просто разные способы добиться того же. –
Да, но много сайтов и некоторые примеры здесь, в SO, используют bindParam, когда я должен использовать bindParam? SOm exmaple в документации php показывает, что он используется с хранимой процедурой, которая возвращает значения – AAB
для разных случаев. в полностью нефункциональном коде bindParam() вроде как делать ': foo & = $ var'. параметр foo будет ссылкой на $ var и просто выровнять любое значение в переменной в момент, когда вы вызываете 'execute()'. Версия '-> exec (array (...))' в это время использует значения переменных. –