簡體   English   中英

PHP + SQL數據庫Azure錯誤

[英]PHP + SQL Database Azure error

我是Web開發的初學者,對PHP + SQL Database連接和顯示結果有疑問。

<?php

    ini_set('display_errors',1);
    ini_set('display_startup_errors',1);
    error_reporting(-1);

    function OpenConnection()
    {
        try
        {
            $serverName = "tcp:***,1433";
            $connectionOptions = array("Database"=>"flan",
                "Uid"=>"***", "PWD"=>"***");
            $conn = sqlsrv_connect($serverName, $connectionOptions);
            if($conn == false)
                die(FormatErrors(sqlsrv_errors()));
        }
        catch(Exception $e)
        {
            echo("Error!");
        }
    }

    function ReadData()
    {
        try
        {
            $conn = OpenConnection();
            $tsql = "SELECT * FROM tour_id";
            $getProducts = sqlsrv_query($conn, $tsql);
            if ($getProducts == FALSE)
                die(FormatErrors(sqlsrv_errors()));
            $productCount = 0;
            while($row = sqlsrv_fetch_array($getProducts, SQLSRV_FETCH_ASSOC))
            {
                echo($row['tour_title']);
                echo("<br/>");
                $productCount++;
            }
            sqlsrv_free_stmt($getProducts);
            sqlsrv_close($conn);
        }
        catch(Exception $e)
        {
            echo("Error!");
        }
    }

    echo ReadData();
?>

結果:

警告:sqlsrv_query()期望參數1為資源,第29行的D:\\ home \\ site \\ wwwroot \\ test.php中給出的null致命錯誤:調用D:\\ home \\ site \\ wwwroot \\中未定義的函數FormatErrors()第31行的test.php

在此處輸入圖片說明

您的Openconnection()函數未返回任何內容,因此$conn始終為null

在函數中添加返回行,如下所示以返回連接:

function OpenConnection()
{
    try
    {
        $serverName = "***";
        $connectionOptions = array("Database"=>"***", "Uid"=>"***", "PWD"=>"***");
        $conn = sqlsrv_connect($serverName, $connectionOptions);
        if($conn == false)
            die(FormatErrors(sqlsrv_errors()));

        return $conn; // <--- Here
    }
    catch(Exception $e)
    {
        echo("Error!");
    }
}

您不是從OpenConnection函數返回連接。

//...
$conn = sqlsrv_connect($serverName, $connectionOptions);
if($conn == false)
    die(FormatErrors(sqlsrv_errors()));
return $conn;
//...

此外:您不應該在線發布憑證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM