错误提示这个Notice: Undefined index: id in D:\PHPstudy\PHPTutorial\WWW\zhoukao\xiugai.php on line 2Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in D:\PHPstudy\PHPTutorial\WWW\zhoukao\xiugai.php on line 7Notice: Undefined variable: data in D:\PHPstudy\PHPTutorial\WWW\zhoukao\xiugai.php on line 15Warning: Invalid argument supplied for foreach() in D:\PHPstudy\PHPTutorial\WWW\zhoukao\xiugai.php on line 15这是我的xiugai.php代码
<?php
$id=$_GET['id'];
$link=mysqli_connect('127.0.0.1','root','root','zhoukao');
mysqli_query($link,'set names utf8');
$sql="select * from student where id=$id";
$res=mysqli_query($link,$sql);
while ($a=mysqli_fetch_assoc($res))
{
    $data[]=$a;
}
?><form method="post" action="update.php">
    <table>
    <?php  foreach ($data as $key=>$v) {?>
        <tr>
            <td>学生姓名</td>
            <td>
                <input type="text" value="<?php echo $v['name']?>">
            </td>
        </tr>
        <tr>
            <td>学生年龄</td>
            <td>
                <input type="text" value="<?php echo $v['age']?>">
            </td>
        </tr>
        <tr>
            <td>学生班级</td>
            <td>
                <select name="class_name">
                <option value="<?php if ($v['class_name']=='1405phpA'){echo "selected";};?>">1405phpA</option>
                <option value="<?php if ($v['class_name']=='1405phpB'){echo "selected";};?>">1405phpB</option>
                <option value="<?php if ($v['class_name']=='1405phpC'){echo "selected";};?>">1405phpC</option>
                <option value="<?php if ($v['class_name']=='1405phpD'){echo "selected";};?>">1405phpD</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>成绩</td>
            <td>
                <input type="text" value="<?php echo $v['score']?>">
            </td>
        </tr>
        <tr>
            <td><input type="hidden" name="id" value="<?php echo $v['id']?>"></td>
            <td><input type="submit" value="修改"></td>
        </tr>
        <?php }?>
    </table>
</form>

解决方案 »

  1.   

    打印一下查询结果。是不是没有id字段还是id字段是空。
      

  2.   

    由于没有 id 参数传入(没有或写错了)
    所以 $id=$_GET['id']; 为空
    从而造成 $res=mysqli_query($link,$sql); 因指令错误,查询失败
      

  3.   

    你表单页面用post方法提交数据,在接收页面用GET方法获取!没有获取到ID的值,然后你去查询的时候就会报没有定义$id这个变量。
      

  4.   

    Notice: Undefined index: id in D:\PHPstudy\PHPTutorial\WWW\zhoukao\xiugai.php on line 2
    $id=$_GET['id'];   $_GET 没有id索引