我有一个PHP代码存储过程,它应该接受用户在web页面上的输入。具体地说是一个产品编号。然后它应该访问名为Lieferung的数据库表并返回产品的运费。数据库中没有产品编号的副本。下面是我的代码的一部分,它引用了存储过程
Suche versandkosten zu bestimmter Produktnummer (PINr):
' />
//Handle Stored Procedure for lieferung
if (isset($_GET['PINR']))
{
//Call Stored Procedure
$productnumber = $_GET['PINR'];
$sch="SELECT versandkosten FROM lieferung WHERE PINr like '%" .
$_GET['PINR'] . "%'";
$shippingcost = oci_parse($conn, $sch);
oci_execute($shippingcost);
$sproc = oci_parse($conn, 'begin prod_ship(:p1, :p2); end;');
//Bind variables, p1=input (productnumber), p2=output (shippingcost)
oci_bind_by_name($sproc, ':p1', $productnumber);
oci_bind_by_name($sproc, ':p2', $shippingcost, 20);
oci_execute($sproc);
$conn_err=oci_error($conn);
$proc_err=oci_error($sproc);
if(!$conn_err && !$proc_err){
echo("" . $productnumber . " hat das Versandkost von. " .
$shippingcost. "
" ); // prints OUT parameter of stored procedure
}
else{
//Print potential errors and warnings
print($conn_err);
print_r($proc_err);
}
}
// clean up connections
oci_free_statement($sproc);
oci_close($conn);
?>
versandkosten是一个价格不一的列PINr是产品编号。
我执行了select语句
SELECT versandkosten FROM lieferung WHERE PINr like [...]