时间:2021-07-01 10:21:17 帮助过:3人阅读
ORA-01008: not all variables bound
后来折腾了很久,发现是变量名写错了。
- <!--?php
- $conn = oci_connect('SCOTT','TIGER') or die;// 建立连接
- if (!$conn) {
- $e = oci_error();
- print htmlentities($e['message']);
- exit;
- }
- $sql = 'BEGIN pack_gt_calc.Pro_gt_Confirm(:year, :week, :errno, :errmsg); END;'; // 查询语句
- $stid = oci_parse($conn, $sql); // 配置SQL语句,准备执行
- if (!$stid) {
- $e = oci_error($conn);
- print htmlentities($e['message']);
- exit;
- }
- // Bind the input parameter
- oci_bind_by_name($stid,':year',$year,32);
- // Bind the input parameter
- oci_bind_by_name($stid,':week',$week,32);
- // Bind the output parameter
- oci_bind_by_name($stid,':errno',$error,32);
- // Bind the output parameter,变量名 ermsg 写错了
- oci_bind_by_name($stid,':ermsg',$errmsg,64);
- // Assign a value to the input
- $year = '2016';
- $week = '4';
- $r = oci_execute($stid); // 执行SQL。OCI_DEFAULT表示不要自动commit
- if(!$r) {
- $e = oci_error($stid);
- echo htmlentities($e['message']);
- exit;
- }
- echo "errmsg is : $error<br-->";
- echo "errmsg is : $errmsg<br>";
- oci_close($conn);
- ?>