|
@@ -6,7 +6,7 @@ use Aliyun\OTS\Consts\OperationTypeConst;
|
|
|
use Aliyun\OTS\Consts\PrimaryKeyTypeConst;
|
|
|
use Aliyun\OTS\Consts\RowExistenceExpectationConst;
|
|
|
use Aliyun\OTS\OTSClient;
|
|
|
-use PDO;
|
|
|
+
|
|
|
/**
|
|
|
* 查询Gps股轨迹 表格存储
|
|
|
*/
|
|
@@ -1330,21 +1330,31 @@ use PDO;
|
|
|
$username= Env::get('oracle.username', 'root');
|
|
|
$password= Env::get('oracle.password', 'root');
|
|
|
|
|
|
- $conn = new PDO("oci:dbname=//".$host.":".$port."/".$instance_name,$username,$password);// PDO方式
|
|
|
- $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
|
-
|
|
|
+ // $conn = new PDO("oci:dbname=//".$host.":".$port."/".$instance_name,$username,$password);// PDO方式
|
|
|
+ // $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
|
+
|
|
|
+ $conn = oci_connect($username, $password, $host.':'.$port.'/'. $instance_name,'AL32UTF8');
|
|
|
|
|
|
+ if (!$conn) {
|
|
|
+ $e = oci_error();
|
|
|
+ trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
|
|
|
+ }
|
|
|
$sql='SELECT * FROM '.$tableName.' WHERE ';
|
|
|
foreach($cond as $key=>$val){
|
|
|
$sql .=$key.' '.$val[0].' '.$val[1];
|
|
|
}
|
|
|
-
|
|
|
- $res= $conn -> query($sql)->fetch(PDO::FETCH_ASSOC);
|
|
|
- if ($conn){
|
|
|
- $conn = null;
|
|
|
+ // var_dump($sql);
|
|
|
+ // 查询并渲染
|
|
|
+ $stid = oci_parse($conn, $sql);
|
|
|
+ $r = oci_execute($stid);
|
|
|
+ $rows=[];
|
|
|
+ while($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
|
|
|
+ $rows[]=$row;
|
|
|
}
|
|
|
- // $response=[];
|
|
|
- return $res;
|
|
|
+
|
|
|
+ oci_free_statement($stid);
|
|
|
+ return $rows[0];
|
|
|
+
|
|
|
}
|
|
|
/**
|
|
|
* 查询oracle数据库 count
|
|
@@ -1359,20 +1369,36 @@ use PDO;
|
|
|
$username= Env::get('oracle.username', 'root');
|
|
|
$password= Env::get('oracle.password', 'root');
|
|
|
|
|
|
- $conn = new PDO("oci:dbname=//".$host.":".$port."/".$instance_name,$username,$password);// PDO方式
|
|
|
- $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
|
+ // $conn = new PDO("oci:dbname=//".$host.":".$port."/".$instance_name,$username,$password);// PDO方式
|
|
|
+ // $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
|
// var_dump($cond);
|
|
|
|
|
|
+ // $whereStr=buildQueryCond($cond);
|
|
|
+ // $countQuery='SELECT count(*) as count FROM '.$tableName.' '.$whereStr;
|
|
|
+ // // var_dump($countQuery);
|
|
|
+ // // return 1111;
|
|
|
+ // $countRes= $conn -> query($countQuery)->fetch(PDO::FETCH_ASSOC);
|
|
|
+
|
|
|
+ $conn = oci_connect($username, $password, $host.':'.$port.'/'. $instance_name,'AL32UTF8');
|
|
|
+
|
|
|
+ if (!$conn) {
|
|
|
+ $e = oci_error();
|
|
|
+ trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
|
|
|
+ }
|
|
|
$whereStr=buildQueryCond($cond);
|
|
|
$countQuery='SELECT count(*) as count FROM '.$tableName.' '.$whereStr;
|
|
|
- // var_dump($countQuery);
|
|
|
- // return 1111;
|
|
|
- $countRes= $conn -> query($countQuery)->fetch(PDO::FETCH_ASSOC);
|
|
|
+ // var_dump($sql);
|
|
|
+ // 查询并渲染
|
|
|
+ $stid = oci_parse($conn, $countQuery);
|
|
|
+ $r = oci_execute($stid);
|
|
|
+ $rows=[];
|
|
|
+ while($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
|
|
|
|
|
|
- if ($conn){
|
|
|
- $conn = null;
|
|
|
+ $rows[]=$row;
|
|
|
}
|
|
|
- return (int)$countRes['COUNT'];
|
|
|
+ // var_dump($rows);
|
|
|
+ oci_free_statement($stid);
|
|
|
+ return (int)$rows[0]['COUNT'];
|
|
|
}
|
|
|
|
|
|
function buildQueryCond($cond){
|