Harun Yayli came across a slight problem in his development using the oci_bind_by_name function for one of his queries:
If you think that the maxlength parameter in the documentation of oci_bind_by_name is optional, see this example and think again.
His sample code gave him a "can bind a LONG value only for insert into a LONG column..." error from his Oracle database. His fix was to add that length parameter (his max column length) and all was well. One of his comments (from cj) helps to explain things a bit more:
It makes senses that a length would be required because when the oci_bind_by_name() call is made, there is no data in $$key (a.k.a. $a, $b or $c). Without a length passed, PHP tells the DB to expect a single byte string.