What is the difference between bindParam and bindValue for PDO in PHP?
+7
A:
Here are some I can think about :
- With
bindParam
, you can only pass variables ; not values - with
bindValue
, you can pass both (values, obviously, and variables) bindParam
works only with variables because it allows parameters to be given as input/output, by "reference" (and a value is not a valid "reference" in PHP) : it is useful with drivers that (quoting the manual) :
support the invocation of stored procedures that return data as output parameters, and some also as input/output parameters that both send in data and are updated to receive it.
With some DB engines, stored procedures can have parameters that can be used for both input (giving a value from PHP to the procedure) and ouput (returning a value from the stored proc to PHP) ; to bind those parameters, you've got to use bindParam, and not bindValue.
Pascal MARTIN
2009-07-24 20:12:36
thanks, can only accept one though
koen
2009-07-24 20:17:54
you're welcome :-) (don't worry about that ^^ )
Pascal MARTIN
2009-07-24 20:19:13