通过PHP连接到数据库,并在浏览器上显示内容

Connecting to database via PHP and displaying contents on browser

本文关键字:浏览器 显示 连接 PHP 数据库 通过      更新时间:2023-09-26

我正在通过PHP脚本连接到SQL服务器,并在浏览器上显示检索到的内容。

index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css"
href="http://cdn.sencha.com/ext/trial/5.0.0/build/packages/ext-theme-neptune/build/resources/ext-    
theme-neptune-all.css">
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script type="text/javascript" src="app.js"></script>
<script type="text/php" src="connection.php"></script>
</head>
<body>
</body>
</html>

app.js

document.addEventListener('DOMContentLoaded', function() {
    d3.json("connection.php", function (data) {
        document.write(data);
    });
});

connection.php

<?php
// Server Name
$myServer = "10.112.1.2";
// Database
$connectionInfo = array("UID" => $uid, "PWD" => $pwd, "Database"=>"logs", "CharacterSet"=>"UTF-8");
$conn = sqlsrv_connect($myServer, $connectionInfo);
if (!$conn) {
    $message = "Connection failed";
    echo "<script type='text/javascript'>alert('$message');</script>";
} else {
    $message = "Connected";
    echo "<script type='text/javascript'>alert('$message');</script>";
}
$sql = "SELECT * FROM dbo.logsData";
$data = sqlsrv_query( $conn, $sql );
if( $data === false ) {
    echo "Error in executing query.</br>";
    die( print_r( sqlsrv_errors(), true));
}
$result = array(); 
do {
    while ($row = sqlsrv_fetch_array($data, SQLSRV_FETCH_ASSOC)){
        $result[] = $row; 
    }
} while ( sqlsrv_next_result($data) );
echo json_encode($result);
sqlsrv_free_stmt($data);
sqlsrv_close($conn);
?>

所有3个文件都在同一个文件夹中。浏览器只显示一个null,并且我没有命中php文件中的任何日志信息。我的方法正确吗?我是否使用了正确的javascript事件?

以这种方式更改连接.php:

    if (!$conn) {
    $message = "Connection failed";
    echo "<script type='text/javascript'>alert('$message');</script>";
} else {
    header('Content-Type: application/json');
}

您需要更改响应的mime类型。此外,您不能打印出json数据以外的任何其他内容。我就是这样从你的代码中删除这些行的:

    $message = "Connected";
    echo "<script type='text/javascript'>alert('$message');</script>";

尝试在此处使用connection.php的相对路径名:d3.json("connection.php"

类似于"/dirname/connection.php".

您可以使用完整的路径名单独测试connection.php,如http://www.yourserver.xxx/dirname1/dirname2/...connection.php