Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SyntaxError:JSON.parse:JSON数据第1行第759列的JSON数据后出现意外的非空白字符_Php_Oracle_Pdo - Fatal编程技术网

Php SyntaxError:JSON.parse:JSON数据第1行第759列的JSON数据后出现意外的非空白字符

Php SyntaxError:JSON.parse:JSON数据第1行第759列的JSON数据后出现意外的非空白字符,php,oracle,pdo,Php,Oracle,Pdo,下面是我的php文件 <?php header('Access-Control-Allow-Origin: *'); include 'dbconnection.php'; //$serviceType = (isset($_POST["type"])?Trim($_POST["type"]):""); $JOBNO = (isset($_POST["JOBNO"])?Trim($_POST["JOBNO"]):""); $JOBSEQ = (is

下面是我的php文件

<?php
    header('Access-Control-Allow-Origin: *');
    include 'dbconnection.php';

    //$serviceType = (isset($_POST["type"])?Trim($_POST["type"]):"");
    $JOBNO = (isset($_POST["JOBNO"])?Trim($_POST["JOBNO"]):"");
    $JOBSEQ = (isset($_POST["JOBSEQ"])?Trim($_POST["JOBSEQ"]):"");
    $HBLNO = (isset($_POST["HBLNO"])?Trim($_POST["HBLNO"]):"");
    $MBLNO = (isset($_POST["MBLNO"])?Trim($_POST["MBLNO"]):"");
    $CREF = (isset($_POST["CREF"])?Trim($_POST["CREF"]):"");

    $sql = "select * from VWJOBDET WHERE (JOBNO = :jobno or :jobno is null) and (JOBSEQNO = :jobseq or  :jobseq is null)
            and (MBL = :mblno or :mblno is null) and (HAWBHBL = :hblno or :hblno is null) and (CUSTREF = :cref or :cref is null)";
    $query = $dbh->prepare($sql);
    $query->bindParam(':jobno',$JOBNO,PDO::PARAM_STR);
    $query->bindParam(':jobseq',$JOBSEQ,PDO::PARAM_STR);
    $query->bindParam(':mblno',$MBLNO,PDO::PARAM_STR);
    $query->bindParam(':hblno',$HBLNO,PDO::PARAM_STR);
    $query->bindParam(':cref',$CREF,PDO::PARAM_STR);
    $query->execute();
    //$data = array();
    foreach($query as $row) {
         echo json_encode($row); 
    }

    exit;   
?>
index.html

<div data-role="content"  style=" margin-top:1%; margin-bottom:10%;" align="center"> <!--Content-->
                <div style="width:50%" align="right">
                    <input type="text" name="jobno" id="jobno" value="" placeholder="Enter Job No: "  data-theme="a"/>
                    <input type="text" name="jobseq" id="jobseq" value="" placeholder="Enter Job Sequence No: "  data-theme="a"/>
                    <input type="text" name="mblno" id="mblno" value="" placeholder="Enter Master AWB/BL No: "  data-theme="a"/>
                    <input type="text" name="hblno" id="hblno" value="" placeholder="Enter House AWB/BL No: "  data-theme="a"/>
                    <input type="text" name="cref" id="cref" value="" placeholder="Enter Client Reference No: "  data-theme="a"/>
                    <button onClick="javascript: searchEngine()" >Search</button>
                    <button type="reset" onClick="javascript: refreshEngine()" >Reset</button>
                </div>

            </div>
当我按下搜索按钮时,mozilla控制台中会显示如下错误:

SyntaxError:JSON.parse:JSON数据第1行第759列的JSON数据后出现意外的非空白字符

还可以在json输出中获得多个值。 这是我的json输出:

{INTJOBNO:351,0:351,JOBNO:HGB/0003/2015,1:HGB/0003/2015,JOBSEQNO:0,2:0,JOBTYPE:OFI,3:OFI,CUSTREF:null,4:null,HAWBHBL:352-15-02345-352628,5:456-15-02345-6768,MBL:ME-GH676767,6:ME-EFGH0001,JOBTYPEDESC:海运进口,7:海运进口,包装:5,8:5,体积:7.333,重量:1148,目的地:南安普敦:1148:1148,南安普敦阿里,12:JEBEL ALI,ETD:09-JUN-15,13:09-JUN-15,ETA:26-JUN-15,14:26-JUN-15,发货状态:空,15:空,状态:空,16:空,客户:CU0010,17:CU0010,客户名称:asdasdas AB,18:FAGERHULTS BELYSNING AB,发货人:空,19:空,发货人姓名:空,20:空}

{INTJOBNO:361,0:361,JOBNO:OFC/0005/2015,1:OFC/0005/2015,JOBSEQNO:0,2:0,JOBTYPE:OFC,3:OFC,cusref:null,4:null,HAWBHBL:352-15-02345-345456,5:352-15-02345-352628,MBL:ME-EJ011008,6:ME-EJ011008,JOBTYPEDESC:海运清关,7:海运清关,包裹:5,8:5,体积:7.333,重量:1148:11,伦敦杰贝尔,目的地:1148:11,伦敦,12:JEBEL ALI,ETD:09-JUN-15,13:09-JUN-15,ETA:null,14:null,SHIPMENTSTATUS:null,15:null,STATDATE:null,16:null,客户:CU0010,17:CU1110,客户名称:adsasff AB,18:hjkhjkhjk AB,发货人:null,19:null,发货人姓名:null,20:null}


任何帮助都将不胜感激。

在查询执行函数之后,您需要使用fetch语句来获取数据

$query->execute();
echo json_encode($query->fetchAll()); 
$query->execute();
$data = $query->fetchAll();
echo json_encode($data);
注:-

$query->fetchAll;将同时返回数值数组和关联数组,如果只需要关联数组,请使用$query->fetchAllPDO::FETCH\u ASSOC;或者如果只需要数据的数值数组,请使用$query->fetchAllPDO::FETCH\u NUM

更多参考

从你的代码

多次打印json结果是错误的,将所有数据收集为数组,然后最终回显json数据,即

$result = []
foreach($query->fetch() as $row) {
    $result[] = $row;
}
echo json_encode($result);

它在json上获得了多个值。欢迎使用Stack Overflow!我编辑了您的问题,以在blockquote中格式化错误消息-有关格式化的更多信息,请参阅编辑帮助。此外,请不要添加非建设性文本,如“help please”和“Thanke you”,尽管您的好意总是令人感激的,但它们并不重要为了吸引答案。祝你好运!@VipinKA这是我的荣幸,你能让它接受答案吗
foreach($query as $row) {
         echo json_encode($row); 
    }
$result = []
foreach($query->fetch() as $row) {
    $result[] = $row;
}
echo json_encode($result);