網頁

2015年4月28日

[oracle] 出現ORA-01756: quoted string not properly terminated解決方法

出現這個錯誤訊息,表示在Insert或是Update資料時,資料內容有包含「'」單引號,因此只要將資料內的「'」單引號變成「''」兩個單引號,就不會出現這錯誤訊息,第一個單引號為「轉義符號」,第二個單引號為原本的資料。


PHP處理範例:

 
<?php
$name = "tom";
$memo = "i'm man"; //包含單引號的資料

//處理資料單引號問題
$memo = str_replace("'", "''", $memo);

//sql insert語法
$sql = "insert into user_data (name, memo) value ('".$name."', '".$memo."')";

echo $sql;
?>


輸出SQL語法:
insert into user_data (name, memo) value ('tom', 'i''m man')
資料「i'm man」在加入轉義符號後,SQL語法就可以正常執行。