我想知道如何从PHP中获取Oracle中的单行?
Chedck我的剧本 – :
我想从ITEM_INFO表中获取单行&将这些值与变量$sku&进行比较$code …我应用的逻辑在Mysql中工作但在Oracle中不起作用…
每次$sku& $code包含diff.值,所以我只需要将它们与ITEM_INFO表&如果匹配则更新相同的标志…
$query_fetch = "SELECT ITEM_NAME,SITE_CODE FROM app.ITEM_INFO WHERE ITEM_FLAG = 'N'";
$stmt = oci_parse($conn,$query_fetch);
oci_execute($stmt);
while(($row = oci_fetch_array($stmt, OCI_BOTH)))
{
$ITEM_NAME = ($row["ITEM_NAME"]);
$SITE_CODE = ($row["SITE_CODE"]);
if(($ITEM_NAME === $sku) && ($SITE_CODE === $code))
{
$query_ora_update = "UPDATE app.ITEM_INFO SET ITEM_FLAG= 'Y', LAST_UPDATE_DATE = sysdate WHERE ITEM_NAME = '$sku' AND SITE_CODE = '$code' AND ITEM_FLAG = 'N' ";
$parse_result = oci_parse($conn,$query_ora_update);
$result = oci_execute($parse_result);
oci_commit($conn);
oci_close($conn);
}
}
PLZ指导我……
解决方法:
基本上,您只需要删除while循环.
以下是应用该更改的代码的重写(使用太多括号,降低代码可读性,应使用SQL绑定以避免注入):
$query_ora_update = "UPDATE app.ITEM_INFO SET ITEM_FLAG= 'Y', LAST_UPDATE_DATE = sysdate WHERE ITEM_FLAG = 'N'";
$parse_result = oci_parse($conn, $query_ora_update);
$result = oci_execute($parse_result);
oci_commit($conn);
oci_close($conn);