Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php sqlsrv_fetch_array()希望参数1是资源,布尔值在_Php_Sql Server_Iis 6 - Fatal编程技术网

Php sqlsrv_fetch_array()希望参数1是资源,布尔值在

Php sqlsrv_fetch_array()希望参数1是资源,布尔值在,php,sql-server,iis-6,Php,Sql Server,Iis 6,我试图打印记录从我的数据库IIS,MSSQL PHP,但我有这个错误 警告:sqlsrv_fetch_数组要求参数1为资源,布尔值在中给定 <?php $serverName ="name\SQLEXPRESS"; $usr="sa"; $pwd="pasw"; $db="dbname"; $connectionInfo = array("UID" => $usr, "PWD" => $pwd, "Database" => $db); $conn = sqls

我试图打印记录从我的数据库IIS,MSSQL PHP,但我有这个错误

警告:sqlsrv_fetch_数组要求参数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); 
?>

您的查询失败。这会导致sqlsrv_查询返回false

查询中的错误是错误的逗号:

$sql = "SELECT first_col, s_col, t_col,  FROM names ";
                                    ^^^^
                                    HERE
删除它,您的查询就会正常工作


仅供参考,您不会检查代码中的错误。您应该始终检查是否有故障,如果是,则获取错误消息。如果你这么做了,你会很快发现这一点。

我也有同样的问题,但到处找逗号,什么都找不到

if(isset($_POST['login'])) {
    co();
    $u = addslashes($_POST['username']);
    $p = strtoupper(md5($_POST['password']));
    $app  = 'DanDanTang';
    $uid  = 0;
    $data = array(
        array($app, SQLSRV_PARAM_IN),
        array($u, SQLSRV_PARAM_IN),
        array($p, SQLSRV_PARAM_IN),
        array($uid, SQLSRV_PARAM_OUT)
    );
    $check = sqlsrv_query($conn, "{CALL Mem_Users_Accede (?,?,?,?)}", $data);
/*line 24*/ sqlsrv_next_result($check);
    if($uid <= 0)
    {
        echo '<script type="text/javascript">alert(\'Nome de Usuario ou Senha invalidos\');</script>';
    }
    else
    {

只是想给这个答案添加一些注释,这里有一个简单的例子@klapsius,你怎么知道的?你做了什么来测试这个?您还做了哪些疑难解答?我只是将查询更改为$sql=SELECT*FROM NAME;在mS SQL Server中,逗号将导致查询失败。收到此错误时,我的表名中有一个错误/键入错误。再次检查您的表名是否正确,并出现此错误。这似乎不是问题的答案:答案应该是答案,而不是问题的副本。我已经在这个网站上看到,我不会收到任何帮助,谢谢我的意思是-如果原始问题的答案不能回答您的特定情况,请提出新问题。这个特殊错误可能有很多原因,所以修复OP的问题可能不适合您。我不熟悉PHP,但我看到您使用的参数与OP文章中的不同。这些关于StackOverflow的规则很苛刻,但为了保持这个网站的质量是必需的。我做到了,更多的我关闭了这个主题并重定向到这个@Bruno猜测您的问题可能与它试图呼叫Mem_Users_Acced的方式有关,或者与该呼叫返回计数有关。。。查看并编辑您的问题,指出它与此问题的不同之处。