差出人( http://www.php .net / manual / en / function.oci-bind-by-name.php#92334 ):
「ORA-01461:LONG列に挿入する場合にのみLONG値をバインドできます」というエラーが表示されることがあります。このエラーは、特にLONG列またはLONG値がない場合に非常に誤解を招く可能性があります。
私のテストによると、このエラーは、バインドされた変数の値が割り当てられた長さを超えた場合に発生する可能性があるようです。
このエラーを回避するには、varcharをバインドするときに長さを指定してください。
<?php
oci_bind_by_name($stmt,':string',$string, 256);
?>
また、数値の場合はデフォルトの長さ(-1)を使用しますが、オラクルにその整数を伝えます。
<?php
oci_bind_by_name($stmt,':num',$num, -1, SQLT_INT);
?>