Javascript 在PHP中,我从mySQL编码了一个JSON数组。我想在不同的php文件中解码它

Javascript 在PHP中,我从mySQL编码了一个JSON数组。我想在不同的php文件中解码它,javascript,php,mysql,arrays,json,Javascript,Php,Mysql,Arrays,Json,在Php中,我从MySQL表中编码了一个JSON数组。我想在不同的Php文件中解码它。我想通过JavaScript从不同的文件访问数据。任何人都可以帮助我 我的代码是: $serverName = "(local)"; $connectionInfo = array( "Database"=>"sample"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo "Conne

在Php中,我从MySQL表中编码了一个JSON数组。我想在不同的Php文件中解码它。我想通过JavaScript从不同的文件访问数据。任何人都可以帮助我

我的代码是:

$serverName = "(local)";

$connectionInfo = array( "Database"=>"sample");

$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) 
{
     echo "Connection established.<br/>";
}

else

{
     echo "Connection could not be established.<br/>";

     die( print_r( sqlsrv_errors(), true));
}
    $str="Select * from sam1";

    $res=sqlsrv_query($conn,$str) or die("Error !");

    $response=array();

while( $row = sqlsrv_fetch_array( $res, SQLSRV_FETCH_ASSOC) ) 
{

$response['tdata'][]=$row;

}
print(json_encode($response));
我的解码功能是:

$data = file_get_contents('db2.php');

$data1 = json_decode($data, true);

print($data1);

但它不起作用。

当您返回
JSON
编码字符串时,最好发送正确的头。您应该像这样返回
JSON
(您仍然可以使用
print
函数):

  • 通过使用相对路径包含它

    $json = (include "db2.php");
    echo json_decode($json, true);
    
    在这个特定场景中,
    db2.php
    必须像这样使用
    return
    语句

    return json_encode($response);
    
  • 通过将
    ob.*
    include
    一起使用,这次您不需要在
    db2.php
    文件中返回

    ob_start();
    include "db2.php";
    $json = ob_get_contents();
    ob_end_clean();
    echo json_decode($json, true);
    

  • 看起来您正在用db2.php文本填充$data,而不是用php运行文件的输出。试试这个:

    $data = `php db2.php`
    

    有什么问题吗?您的描述很难识别,请澄清。请使用
    {}
    按钮格式化代码。您现在可以为mysql使用
    sqlsrv
    吗?我以为它只是针对SQL Server的,
    db2.php
    文件做什么?它输出什么?如果您在解码文件中运行
    var\u dump($data)
    ,您可能会发现它输出原始PHP代码。谢谢您的朋友。。但是我没有得到答案(非常感谢你呀……我得到了答案:):)谢谢你的解释:)谢谢你的朋友。。但是我没有得到答案(
    return json_encode($response);
    
    ob_start();
    include "db2.php";
    $json = ob_get_contents();
    ob_end_clean();
    echo json_decode($json, true);
    
    $data = `php db2.php`