【发布时间】:2016-01-18 14:54:36
【问题描述】:
我有一个 PHP 编程的序列顺序,我需要从表中查询并将其插入 JSON 数组。我不知道我的错误在哪里,但它只是没有通过。请帮帮我,
在 dbinfo.inc.php 中,
define("ORA_CON_UN", "ADMIN");
define("ORA_CON_PW", "pass");
define("ORA_CON_DB", "192.168.100.195/finance");
class db {
private $conn;
private $lastId;
private static $instance;
private function _construct(){
$this->connect();
}
public static function create(){
if (!isset(self::$instance)) {
self::$instance = new db();
}
return self::$instance;
}
public function connect($dbconn = ORA_CON_DB, $dbuser = ORA_CON_UN, $dbpass = ORA_CON_PW){
$this->conn = oci_connect($dbuser, $dbpass, $dbconn);
}
}
在 DBFunction.php 中
include 'dbinfo.inc.php';
class Connection{
private $dbConnection;
public function _construct($dbConnection){
$this->dbConnection = $dbConnection;
}
function initConnection(){
$db = new db();
$dbConnection = $db->connect();
}
}
class PurchaseOrder {
private $job = '%';
private $subjob = '%';
public function _construct($job, $subjob){
$this->job = $job;
$this->subjob = $subjob;
}
function listPO($job, $subjob){
$conn = new Connection();
$conn->initConnection();
$sql = oci_parse($conn, 'SELECT VPI.PO_NO FROM VW_PO_INFO@WENFINANCE_WENLOGINV_LINK WHERE VPI.PROJECT_NO = ' .$job. ' AND VPI.PROJECT_NAME = ' .$subjob);
if (!$conn) {
$oerr = OCIError($conn);
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
exit();
} else {
echo 'CONNECTION SUCCEDED';
}
$rows = array();
while ($r = oci_fetch_assoc($sql)){
$rows[] = $r;
}
$listPO = json_encode($rows);
oci_execute($sql);
oci_close($conn);
}
}
最后,testDBFunction.php
include('DBFunction.php');
$queryOracle = new PurchaseOrder();
$queryOracle->listPO('W-IGG','');
var_dump($queryOracle);
这是我的错误信息,
警告:oci_parse() 期望参数 1 是资源,给定对象 在第 36 行的 C:\xampp\htdocs\WeltesFinance\pages\lib\DBFunction.php 连接成功警告:oci_fetch_assoc() 需要参数 1 是资源, null 给出 C:\xampp\htdocs\WeltesFinance\pages\lib\DBFunction.php 第 47 行
警告:oci_execute() 期望参数 1 是资源,给定 null 在第 52 行的 C:\xampp\htdocs\WeltesFinance\pages\lib\DBFunction.php object(PurchaseOrder)#1 (2) { ["job":"PurchaseOrder":private]=> string(1) "%" ["subjob":"PurchaseOrder":private]=> string(1) "%" }
我不知道我的错误在哪里,请帮助我
【问题讨论】: