phpsql-serveriis-6

sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given in


im trying print records from my db (IIS, MSSQL PHP) but i have this error...

Warning: sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given in

<?php

$serverName ="name\SQLEXPRESS";
 $usr="sa";
 $pwd="pasw";
 $db="dbname";

$connectionInfo = array("UID" => $usr, "PWD" => $pwd, "Database" => $db);

$conn = sqlsrv_connect($serverName, $connectionInfo);



  $sql = "SELECT first_col, s_col, t_col,  FROM names ";
 $res = sqlsrv_query($conn,$sql);
  while ($row = sqlsrv_fetch_array($res)) {
    print(
    $row['first_col'].",".$row['s_col'].",".$row['t_col'].");

 }  


sqlsrv_close( $conn); 
?>

Solution

  • Your query failed. This causes sqlsrv_query() to return false.

    Your error in your query is an errant comma:

    $sql = "SELECT first_col, s_col, t_col,  FROM names ";
                                        ^^^^
                                        HERE
    

    Remove it and your query should work.

    FYI, you don't check for errors in your code. You should always check to see if something failed, and if so, get the error message. You would have caught this quickly if you did.