sql >> Databáze >  >> RDS >> Oracle

PHP:výsledky pole oci_bind_by_name a časového razítka v ORA-01461:lze svázat hodnotu LONG pouze pro vložení do sloupce LONG

Z (http://www.php .net/manual/en/function.oci-bind-by-name.php#92334 ):

Někdy se zobrazí chyba „ORA-01461:lze svázat hodnotu LONG pouze pro vložení do sloupce LONG“. Tato chyba je velmi zavádějící, zejména pokud nemáte žádné LONG sloupce nebo LONG hodnoty.

Z mého testování se zdá, že tato chyba může být způsobena, když hodnota vázané proměnné překročí přidělenou délku.

Chcete-li se této chybě vyhnout, ujistěte se, že při vázání varcharů zadáváte délky, např.

<?php
    oci_bind_by_name($stmt,':string',$string, 256);
?>

A pro čísla použijte výchozí délku (-1), ale řekněte Oracle, že je to celé číslo, např.

<?php
    oci_bind_by_name($stmt,':num',$num, -1, SQLT_INT);
?>



  1. Jak formátovat datum a čas jako M/D/YYYY na serveru SQL?

  2. Barevný kód duplicitní položky v poli aplikace Excel pomocí střídavých barev

  3. Jak exportovat SQL dotaz do TXT pomocí příkazového řádku

  4. mysql, dotaz s podmínkou kde, pokud jedna hodnota =jakákoliv věc