当我运行我的页面时,我一直有这个错误.有人能帮我做这个吗.(sqlsrv_filtch_array()要求参数1为res


I keep having this error when i run my page. can someone help me with this.(sqlsrv_fetch_array() expects parameter 1 to be resource, boolean given )

当我运行页面时,我一直有这个错误。有人能帮我吗。(sqlsrv_fetch_array()

期望参数1是资源,给定为布尔值

$sql = "SELECT * FROM adminIPTable WHERE (adminIPaddress=? AND adminName !=?) ";
        // run the query
        $result = sqlsrv_query($conn, $sql);

            if($row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC))
            {
            ?>
            <div class="container">
                <div class="row">
                    <div class=" col-md-12 col-lg-12 col-sm-12 col-lg-12">
                        <div class="form-horizontal">
                            <fieldset>
                                <legend>Edit IP Address</legend>
                                <p id="error"></p>
                                <div class="form-group">
                                    <label for="inputName" class="col-lg-2 control-label">IP address</label>
                                    <div id="ipaddress" class="col-lg-10">
                                        <input type="text" class="form-control" id="txtip" value="<?=$row['adminIPaddress']; ?>" placeholder="Name" data-content="Please enter your IP" data-container="body" data-toggle="popover" data-placement="bottom">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-lg-2 control-label">Name</label>
                                    <div class="col-lg-10">
                                        <input type="text" class="form-control" id="txtadmin" value="<?=$row['adminName'] ?>" disabled="">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <div class="col-lg-10 col-lg-offset-2">
                                        <button type="submit" class="btn btn-primary btn-sm" onclick="checkUpdateProfile()">Update</button>
                                    </div>
                                </div>
                            </fieldset>
                        </div>
                    </div>
                </div>
            </div>
            <?php
            }

问题是,$row不会返回布尔值,如果你想在显示结果之前检查状态,那么你需要这样检查:

$result = sqlsrv_query($conn, $sql);
if($result === true){
    while($row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC))
    {
        // your stuff
    }
}

PHP手册链接:sqlsrv_fetch_array

您可能在$sql 中出现错误

$result = sqlsrv_query($conn, $sql);

所以CCD_ 4可能已返回CCD_。

然后$result变成sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)作为它的第一个参数。

因此产生CCD_ 8错误。