代码:
<?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}}
答案 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);