【问题标题】:Warning: mysqli_affected_rows() expects parameter 1 to be mysqli, boolean given in C:\xampp\htdocs\ajax-complete\live-table-post.php on line 23 [duplicate]警告:mysqli_affected_rows() 期望参数 1 为 mysqli,布尔值在 C:\xampp\htdocs\ajax-complete\live-table-post.php 第 23 行 [重复]
【发布时间】:2016-12-28 09:27:27
【问题描述】:

当我试图从显示警告错误的数据库中获取数据时

警告:mysqli_affected_rows() 期望参数 1 为 mysqli,布尔值在 C:\xampp\htdocs\ajax-complete\live-table-post.php 第 23 行给出

我正在尝试从数据库中获取数据,它显示错误我也使用 musqli_affedted_rows 而不是 mysqli_num_rows 但它显示相同的错误

<?php
    $host     = "localhost"; $username = "root"; $password = "";$db_name  = "ajax_complete";
    $conn = mysqli_connect( $host, $username, $password, $db_name ) or die("cannot connect");
    $output = '';
    $sql    = "SELECT * FROM tbl_live-crud ORDER BY id DESC";
    $result  = mysqli_query($conn,$sql);
    $output.= '
        <div class="table-responsive">
            <table class="table table-bordered">
                <tr>
                    <td width="10%;"></td>
                    <td width="20%;"></td>
                    <td width="20%;"></td>
                    <td width="20%;"></td>
                    <td width="10%;"></td>
                </tr>';
                if(mysqli_num_rows($result) > 0){
                    while($row = mysqli_fetch_array($result)){
                        $output .= '
                            <td>'.$row['id'].'</td>
                            <td class="fname" data-id1="'.$row['id'].'" contenteditable>'.$row['fname'].'</td>
                            <td class="lname" data-id2="'.$row['id'].'" contenteditable>'.$row['lname'].'</td>
                            <td class="email" data-id3="'.$row['id'].'" contenteditable>'.$row['email'].'</td>
                            <td><button name="delete" id="delete" data-id4="'.$row['id'].'">X</button></td>';
                            }

                        $output = '
                            <tr>
                                <td id="fname" contenteditable></td> 
                                <td id="lname" contenteditable></td> 
                                <td id="email" contenteditable></td> 
                                <td id="btn_add" name="btn_add" class="btn btn-xs btn-success"><button>+</button></td> 
                            </tr>';
                }else{
                    $output = '
                        <tr>
                            <td colaspan="4"> Data not Found</td>
                        </tr>';
                }
                $output .='</table>
                </div>';

?>

【问题讨论】:

    标签: php ajax database mysqli fetch


    【解决方案1】:

    试试这个。

    $host     = "localhost"; 
    $username = "root"; 
    $password = "";
    $db_name  = "ajax_complete";
    
    $conn = mysqli_connect( $host, $username, $password, $db_name );
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 
    
    $output = '';
    $sql    = "SELECT * FROM tbl_live_crud ORDER BY id DESC";
    $result = $conn->query($sql);
    
    $output.= '
    <div class="table-responsive">
        <table class="table table-bordered">
            <tr>
                <td width="10%;"></td>
                <td width="20%;"></td>
                <td width="20%;"></td>
                <td width="20%;"></td>
                <td width="10%;"></td>
            </tr>';
            if($result->num_rows > 0){
                while($row = $result->fetch_assoc()) {
                    $output .= '
                                <td>'.$row['id'].'</td>
                                <td class="fname" data-id1="'.$row['id'].'" contenteditable>'.$row['fname'].'</td>
                                <td class="lname" data-id2="'.$row['id'].'" contenteditable>'.$row['lname'].'</td>
                                <td class="email" data-id3="'.$row['id'].'" contenteditable>'.$row['email'].'</td>
                                <td><button name="delete" id="delete" data-id4="'.$row['id'].'">X</button></td>
                            ';
                }
    
                $output = '
                        <tr>
                            <td id="fname" contenteditable></td> 
                            <td id="lname" contenteditable></td> 
                            <td id="email" contenteditable></td> 
                            <td id="btn_add" name="btn_add" class="btn btn-xs btn-success"><button>+</button></td> 
                        </tr>
                ';
            }else{
                    $output = '
                            <tr>
                                <td colaspan="4"> Data not Found</td>
                            </tr>
                    ';
            }
        $output .='</table>
    </div>';
    

    【讨论】:

    • 两个代码都不起作用
    • 注意:尝试在第 26 行获取 C:\xampp\htdocs\ajax-complete\live-table-post.php 中非对象的属性
    • 是的,表名中不应包含“-”。所以重命名表后尝试。您的表在名称 tbl_live-crud 中包含“-”,将其重命名为 tbl_live_crud。请参阅编辑后的代码。它对我有用。
    • 是的,可以更改,但它的热门显示数据和 ajax 响应状态为 200 ok...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多