PHP中的函数不起作用

时间:2014-05-01 12:22:28

标签: php

代码:

<?php

include('core/settings.php');
include('core/connection.php');

function getInvoice($n, $conn) 
{ 
   $stid = oci_parse($conn, '

     SELECT InvoiceNo FROM Orders WHERE OrderNo = $n

   ');
   oci_execute($stid);

   $result = oci_fetch_array($stid, OCI_BOTH);
   echo $result;
} 

getInvoice(1050505);

?>

访问此页面时,我未显示getInvoice的结果。手动SQL工作正常。我正在使用的PHP中是否存在问题?

编辑1:如果有更简单的方法可以执行此操作,请提出建议。 SQL结果是一个简单的数字,例如:

InvoiceNo
---------

1050505

修改2 :我已更新functions.php并将其放在下方。

<?php

function getInvoice($n) 
{ 
   include('connection.php');

   $stid = oci_parse($conn, 'SELECT InvoiceNo FROM Orders WHERE OrderNo = '.$n);
   oci_execute($stid);

   $row = oci_fetch_array($stid, OCI_BOTH);
   echo $row['0'];
} 

?>

如果我在该文件中使用getInvoice,则<? php include('core/functions.php'); getInvoice(1050505); ?> 有效,但当我尝试在另一个文件中使用它时,它不会返回任何内容。

{{1}}

2 个答案:

答案 0 :(得分:2)

在SQL查询中进行更改,因为''无法识别$ n(将其视为字符串而非变量)

$stid = oci_parse($conn, "SELECT InvoiceNo FROM Orders WHERE OrderNo = $n");

并将秒参数传递给函数调用。

答案 1 :(得分:0)

您错过了函数中的第二个参数,您需要更改查询

$stid = oci_parse($conn, 'SELECT InvoiceNo FROM Orders WHERE OrderNo = '.$n);

使用此代码启用错误报告

ini_set('display_errors',1);
error_reporting(-1);