2016-07-02 5 views
0

しかしイムは、これは私が得ているどのくらいで、デシベルで5最後entrysを取得し、サイト上で彼らの最初の行をエコーし​​ようとしている:PHP PDOのMicrosoft SQL

<?php 

$dsn = "sqlsrv:Server=localhost;Database=blog"; 
$conn = new PDO($dsn, "*****", "*********"); 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

$sql = "SELECT TOP 5 FROM blog_posts ORDER BY blogID DESC"; 

foreach ($conn->query($sql) as $row) { 
echo $row[1]; 
} 
?> 

エラー:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near the keyword 'FROM'.' in C:\inetpub\wwwroot\dev\ny\includes\left-menu.php:17 Stack trace: #0 C:\inetpub\wwwroot\dev\ny\includes\left-menu.php(17): PDO->query('SELECT TOP 5 FR...') #1 C:\inetpub\wwwroot\dev\ny\index.php(281): include('C:\inetpub\wwwr...') #2 {main} thrown in C:\inetpub\wwwroot\dev\ny\includes\left-menu.php on line 17

$sql = "SELECT TOP 5 FROM blog_posts ORDER BY blogID DESC"; 

がされているべき

+0

だから問題は何ですか? – Mureinik

+0

@Mureinik何もエコーしません。 –

+0

これを解決できました....トップ5の後にa *がありません –

答えて

0

$sql = "SELECT TOP 5 * FROM blog_posts ORDER BY blogID DESC"; 
+0

これでこの問題は完全に修正されますか?結果を取得してはいけませんか? 'foreach'ループ[sqlserv_query](https://msdn.microsoft.com/en-us/library/cc296184(v = sql.105).aspx)の値は、失敗した場合に' false'を返すステートメントの結果です。 – Parfait

+0

@parfaitはいそれは私が欲しかったどんなエラーや作品も返しません:) –