我正在使用部署在 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));
}
上面的代码确实在服务器上的表中插入信息,但会导致上面解释的错误。如果我可以提供更多信息,请告诉我。