PHP中的内连接查询告诉我所有其他人加入这样的查询?

时间:2017-05-14 09:12:13

标签: php sql

这个代码对于内连接是否正确 如果对所有类型的连接查询注释有任何更多建议,我如何改进这个PHP代码

<?php
        $conn = mysqli_connect('localhost', 'root','','sql_joins');
        $sql = "select department.depname , employee.Name From employee INNER JOIN department ON department.Empid = employee.Empid"; 
        $result = mysqli_query($conn,$sql);

            ?> 
        <table style="border:1px solid #666;"> 
        <tr>
            <td>name</td>
            <td>Depname</td> 
        </tr> 
                <?php 
                if(mysqli_num_rows($result))
                {

        while($run=mysqli_fetch_assoc($result)) { ?>
                    <tr > 
                    <td style="border:1px solid #666;"> <?php echo $run["Name"]; ?></td> 
                    <td style="border:1px solid #666;"> <?php echo $run["depname"]; ?></td>
                    </tr>
                <?php
                }?> 
            </table> 
            <?php 
        }else{ 
            echo "not"; 
        } 
    ?>

1 个答案:

答案 0 :(得分:0)

您的代码中存在一些错误,例如:

  • 您的SQL查询错误,而且您在查询中没有使用INNER JOIN。您的查询应该是这样的:

    SELECT department.depname , employee.Name 
    FROM employee 
    INNER JOIN department ON department.Empid = employee.Empid
    
  • 而不是if($result){ ...,在if条件中使用mysqli_num_rows()函数来检查从SELECT操作中检索的行数。

    if(mysqli_num_rows($result)){ ...
    
  • 您的HTML表格结构错误,应该是这样的:

    <table style="border:1px solid #666;"> 
        <tr>
            <td>name</td>
            <td>Depname</td> 
        </tr>
        <?php 
        while($run=mysqli_fetch_assoc($result)) { ?>
        ...