1

我正在使用部署在 Windows Azure 上的 php 应用程序。

我遇到了一个导致错误的问题:

"The page cannot be displayed because an internal server error has occurred."

当我查看日志时,我看到:

HTTP Error 500.0 - Internal Server Error
D:\Program Files (x86)\PHP\v5.3\php-cgi.exe - The FastCGI process exited unexpectedly

问题是当我想从 sql server 获取数据时会发生这种情况。当我尝试将数据发布到 sql 服务器时,一切正常。

以下代码代表我试图用注释来解释正在发生的事情:

try {
        // Try to connect to the database.
        $conn = new PDO ( "sqlsrv:server = server,1433; Database = name", "user", "password");
        $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
        $conn->beginTransaction();
            // This works out when executed (I see the row in the table).
        $query = "INSERT INTO owner (email) VALUES ('email@email.com')";
        $conn->exec($query);
        $result = $conn->query("SELECT email FROM owner");
        $conn->commit();
        // If the SQL select is succesfully performed ($result not false)
        if($result !== false) {
            echo "there are results";
            // Traverse the result set and shows the data from each row
            foreach($result as $row) {
              echo $row['email']. '<br />';
            }
        }

        $conn = null;        // Disconnect
    } catch ( PDOException $e ) {
        print( "Error connecting to SQL Server. Please call support!" );
        die(print_r($e));
    }

上面的代码确实在服务器上的表中插入信息,但会导致上面解释的错误。如果我可以提供更多信息,请告诉我。

4

1 回答 1

-1

检查访问数据库凭据,或者您可能在数据库中有重复的条目email@email.com。错误日志中记录了什么?

于 2013-11-10T10:15:49.850 回答