2014-05-22 113 views
2

中给出这不是公布的问题。 IM从我的分贝(IIS,MSSQL PHP)试图打印记录,但我有这个错误...sqlsrv_fetch_array()期望参数1是资源,布尔值在

警告:sqlsrv_fetch_array()预计参数1是资源,布尔在

<?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); 
?> 

回答

8

你给出的查询失败。这会导致sqlsrv_query()返回false。

你在查询中的错误是一个错误的逗号:

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

删除它和您的查询应该工作。

仅供参考,您不检查代码中的错误。你应该经常检查一下是否失败了,如果有的话,得到错误信息。如果你这样做,你会很快抓住这个。

+0

(只是要添加一些注释到这个答案)这里是简单的例子http://www.php.net/manual/en/function.sqlsrv-fetch-array.php – Darka

+0

谢谢队友,但问题不是逗号.. 。 – klapsius

+0

@klapsius你怎么知道?你做了什么来测试这个?你做了哪些其他故障排除? –

相关问题