我需要一些帮助。我正在编写一个小程序,使用php从mssql数据库中检索数据。当我在sql management studio上编写查询时,我得到了一个结果,但是当我在php中运行相同的查询时,我得不到任何结果。
以下是init.php。这是包含数据库连接字符串
的文件<?php
error_reporting(E_ALL);
$serverName = "SUPERMAN";
$connectionInfo = array('Database'=>'Eque', "UID"=>"develop", "PWD"=>"develop");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if($conn) {
"Connection established.<br />";
}else {
"Connection could not be established.<br />";
die(print_r(sqlsrv_errors(), true));
}
?>
以下是应该显示数据的测试页面:
<?php
error_reporting(E_ALL);
require_once 'scripts/init.php';
$query = "SELECT a.ID AS ApnID, b.Surname, b.Initials, b.Cell, b.Email,
a.Deadline, a.NotifyEmail, a.NotifySMS, c.Name, a.RecvDate,a.Barcode
FROM dbo.Apn a
INNER JOIN dbo.Apt b ON a.AptID = b.ID
INNER JOIN dbo.Status c ON a.StatusID = c.ID";
//$params = array($id, $name);
$stmt = sqlsrv_query( $conn, $query);
$record = sqlsrv_fetch_array($stmt);
{
echo $record['Surname'];
echo '<br />';
echo $record['Initials'];
echo '<br />';
}
?>
我正确连接到数据库,因此我认为问题出在测试页面上。请协助!
答案 0 :(得分:0)
下面
if($conn) {
"Connection established.<br />";
}else {
"Connection could not be established.<br />";
die(print_r(sqlsrv_errors(), true));
}
试试这个
if($conn) {
echo "Connection established.<br />";
}else {
echo "Connection could not be established.<br />";
die(print_r(sqlsrv_errors(), true));
}
和这个
<?php
error_reporting(E_ALL);
作为
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
这个
die(print_r(sqlsrv_errors(), true));
as
die('Error: '.sqlsrv_errors());
这也不好
$record = sqlsrv_fetch_array($stmt);
{
echo $record['Surname'];
echo '<br />';
echo $record['Initials'];
echo '<br />';
}
所以
while(false !== ($record = sqlsrv_fetch_array($stmt)))
{
echo $record['Surname'];
echo '<br />';
echo $record['Initials'];
echo '<br />';
}
或者
$record = sqlsrv_fetch_array($stmt);
echo $record['Surname'];
echo '<br />';
echo $record['Initials'];
echo '<br />';