我通过PHP脚本连接到SQL服务器并显示在浏览器中检索到的内容。通过PHP连接到数据库并在浏览器上显示内容
的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事件吗?
裹一切都在一个try/catch(http://php.net/manual/en/language.exceptions.php)如果你的PHP,这将告诉你。 ini设置隐藏了一些错误。 – 2014-11-03 08:29:09
其他一切看起来不错?我如何测试单独的连接? – Natasha 2014-11-03 08:35:04
如果您只想检查与连接对象关联的值,请使用[var_dump](http://php.net/manual/en/function.var-dump.php)。 – 2014-11-04 03:12:35