От (http://www.php .net/manual/en/function.oci-bind-by-name.php#92334 ) :
Понякога получавате грешката „ORA-01461:може да обвърже стойност LONG само за вмъкване в колона LONG“. Тази грешка е силно подвеждаща, особено когато нямате LONG колони или LONG стойности.
От моето тестване изглежда, че тази грешка може да бъде причинена, когато стойността на обвързана променлива надвишава разпределената дължина.
За да избегнете тази грешка, уверете се, че сте посочили дължини, когато обвързвате varchars, напр.
<?php
oci_bind_by_name($stmt,':string',$string, 256);
?>
А за числа използвайте дължината по подразбиране (-1), но кажете на оракул, че е цяло число, напр.
<?php
oci_bind_by_name($stmt,':num',$num, -1, SQLT_INT);
?>