我有以下代碼...更新PHP-SQL語句不工作 - 沒有顯示錯誤
$interactionid = '123';
$interactioncode = "ECWL";
$oldDOL = $_GET['oldDOL'];
$newDOL = $_GET['newDOL'];
include("ORCLconfig.php");
$addWSclaim = oci_parse($conn, "UPDATE claims SET DATE_OF_LOSS='$newDOL' WHERE NUMBER='32122'");
oci_execute($addWSclaim, OCI_COMMIT_ON_SUCCESS);
$addtointeractionMAKE = oci_parse($conn, "INSERT INTO interaction_items VALUES (null, '$interactionid', '$interactioncode', '$oldDOL', '$newDOL', localtimestamp)");
oci_execute($addtointeractionMAKE, OCI_COMMIT_ON_SUCCESS);
oldDOL和newDOL是其格式爲DD-MMM-YY是內嵌在DATE_OF_LOSS到達日期列在索賠表中。
但是隻有第二條語句似乎正在工作,因爲索賠表沒有變化,也沒有顯示任何錯誤。
我正在使用Oracle數據庫,如果我在SQL控制檯中執行更新語句,它工作正常。
我知道這將是一些非常簡單的,我已經在某種程度上被忽視,但任何幫助,將不勝感激:)
1)SQL注入2)您的INSERT語法是錯誤的(除非這是Oracle voodoo,您不必在表格後指定字段名稱) – Leigh
首先,我建議您使用oci_bind(_by_name)作爲您的varialbes查詢/插入。它比instring變量更清晰,更安全。一個不工作的oci_execute會給你一個真的還是假的回來?如果它是錯誤的oci_error()是什麼? – Najzero
@ jampez77 第一個oci_execute返回的值是什麼?如果它是假的,那麼檢查oci_error返回的是什麼。 –