php mssql数据库查询不起作用

时间:2014-07-08 13:05:25

标签: php sql sql-server

我需要一些帮助。我正在编写一个小程序,使用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 />';
                }



?>

我正确连接到数据库,因此我认为问题出在测试页面上。请协助!

1 个答案:

答案 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 />';