Từ ( http://www.php .net / manual / en / function.oci-bind-by-name.php # 92334 ):
Đôi khi bạn gặp lỗi "ORA-01461:có thể liên kết giá trị DÀI chỉ để chèn vào cột DÀI". Lỗi này rất dễ gây hiểu lầm, đặc biệt khi bạn không có cột DÀI hoặc giá trị DÀI.
Từ thử nghiệm của tôi, có vẻ như lỗi này có thể được gây ra khi giá trị của một biến bị ràng buộc vượt quá độ dài được phân bổ.
Để tránh lỗi này, hãy đảm bảo bạn chỉ định độ dài khi ràng buộc các véc-tơ, ví dụ:
<?php
oci_bind_by_name($stmt,':string',$string, 256);
?>
Và đối với các số, hãy sử dụng độ dài mặc định (-1) nhưng nói với oracle rằng nó là một số nguyên, ví dụ:
<?php
oci_bind_by_name($stmt,':num',$num, -1, SQLT_INT);
?>