php

出现Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource 
代码下面
if(@$_POST["b"]=='添加')
{
test($KCH,$KCM,$KKXQ,$XF);
$s_sql="select from KCB where 课程号='$KCH'";
$s_result=mysql_query($s_sql);
//mysql_select_db('xueji');
$s_row=mysql_fetch_array($s_result);各位帮下忙看看是什么问题

解决方案 »

  1.   

    $s_sql="select * from KCB where 课程号='$KCH'"; 
    少了要查询的字段 
      

  2.   

    <?php
    $conn=mysql_connect("localhost","root","root") or die('连接失败'); //连接服务器
    mysql_select_db("xueji",$conn) or die('连接数据库失败'); //选择数据库
    mysql_query("SET NAMES 'gb2312'"); //设置字符集
    $KCNumber=@$_POST['KCNumber']; //获取课程号
    $sql="select * from KCB where 课程号='$KCNumber'"; //查找课程信息
    $result=mysql_query($sql);
    $row=@mysql_fetch_array($result); //取得查询结果
    if(($KCNumber!==NULL)&&(!$row)) //判断课程是否存在
    echo "<script>alert('没有该课程信息!')</script>";
    ?>
    <form name="frm2" method="post">
    <table bgcolor="#CCCCCC" width="300" border="1" align="center" cellpadding="0" cellspacing="0">
    <tr> <td bgcolor="#CCCCCC" width="90"><span class="STYLE1">课程号:</span></td>
    <td><input name="KCNum" type="text" class="STYLE1" value="<?php echo $row['课程号']; ?>">
    <input name="h_KCNum" type="hidden" value="<?php echo $row['课程号']; ?>"></td></tr>
    <tr> <td bgcolor="#CCCCCC" width="90"><span class="STYLE1">课程名:</span></td>
    <td><input name="KCName" type="text" class="STYLE1" 
    value="<?php echo $row['课程名']; ?>"></td></tr>
    <tr><td bgcolor="#CCCCCC"><div class="STYLE1">开课学期:</div></td>
    <td><input name="KCTerm" type="text" class="STYLE1" 
    value="<?php echo $row['开课学期']; ?>"></td></tr>
    <tr><td bgcolor="#CCCCCC"><span class="STYLE1">学时:</span></td>
    <td><input name="KCtime" type="text" class="STYLE1" 
    value="<?php echo $row['学时']?>"></td></tr>
    <tr><td bgcolor="#CCCCCC"><span class="STYLE1">学分:</span></td>
    <td><input name="KCCredit" type="text" class="STYLE1" 
    value="<?php echo $row['学分'];?>"></td></tr>
    <tr><td  align="center" colspan="2" bgcolor="#CCCCCC">
    <input name="b" type="submit" value="修改" class="STYLE1">&nbsp;
    <input name="b" type="submit" value="添加" class="STYLE1"/>&nbsp;  
    <input name="b" type="submit" value="删除" class="STYLE1">&nbsp;
    </td></tr>
    </table>
    </form>
    </body>
    </html>
    <?php
    $KCH=@$_POST['KCNum']; //课程号
    $h_KCH=@$_POST['h_KCNum']; //表单中原有的隐藏文本中的课程号
    $KCM=@$_POST['KCName']; //课程名
    $KKXQ=@$_POST['KCTerm']; //开课学期
    $XS=@$_POST['KCtime']; //学时
    $XF=@$_POST['KCCredit']; //学分
    //简单的验证函数,验证表单数据的正确性
    function test($KCH,$KCM,$KKXQ,$XF)
    {
    if(!$KCH) //判断课程号是否为空
    echo "<script>alert('课程号不能为空!');location.href='EX8_3.php';</script>";
        elseif(!$KCM) //判断课程名是否为空
         echo "<script>alert('课程名不能为空!');location.href='EX8_3.php';</script>";
        elseif($KKXQ>8||$KKXQ<1) //判断开课学期是否在1-8之间
            echo "<script>alert('开课学期必须为1-8的数字!');location.href='EX8_3.php';</script>";
        elseif(!is_numeric($XF)) //判断学分是否为数字
            echo "<script>alert('学分必须为数字!');location.href='EX8_3.php';</script>";
    }
    //单击【修改】按钮
    if(@$_POST["b"]=='修改')
    {    
    test($KCH,$KCM,$KKXQ,$XF); //检查输入信息
    if($KCH!=$h_KCH) //判断用户是否修改了原来的课程号值
    echo "<script>alert('课程号与原数据有异,无法修改!');</script>";
    else
    {   
    $update_sql="update KCB set 课程名='$KCM',开课学期=$KKXQ,
    学时=$XS,学分=$XF WHERE 课程号='$KCH'";
    $update_result=mysql_query($update_sql);
          if(mysql_affected_rows($conn)!=0)
    echo "<script>alert('修改成功!');</script>";
    else
    echo "<script>alert('信息未修改!');</script>";
    }
    }
    //单击【添加】按钮
    if(@$_POST["b"]=='添加')
    {
    test($KCH,$KCM,$KKXQ,$XF);
    $s_sql="select 课程号 from KCB where 课程号='$KCH'";
    $s_result=mysql_query($s_sql);
    $s_row=mysql_fetch_array($s_result);
    if($s_row) //若要添加的课程已经存在则提示
    echo "<script>alert('学号已存在,无法添加!');</script>";
    else
    {
    $insert_sql="insert into KCB(课程号,课程名,开课学期,学时,学分)
      values('$KCH', '$KCM', $KKXQ, $XS, $XF)";
    $insert_result=mysql_query($insert_sql) or die('添加失败!');
    if(mysql_affected_rows($conn)!=0)
            echo "<script>alert('添加成功!');</script>"; 
    }
    }
    //单击【删除】按钮
    if(@$_POST["b"]=='删除')
    {
    if(!$KCH)
    {
    echo "<script>alert('请输入要删除的课程号!');</script>";
    }
    else
    {
    $d_sql="select 课程号 from KCB where 课程号='$KCH'";
    $d_result=mysql_query($d_sql);
    $d_row=mysql_fetch_array($d_result);
    if(!$d_row) //课程如果不存在则提示
    echo "<script>alert('课程号不存在,无法删除!');</script>";
    else
    {
    $del_sql="delete from KCB where 课程号='$KCH'";
    $del_result=mysql_query($del_sql) or die('删除失败!');
    if(mysql_affected_rows($conn)!=0)
    echo "<script>alert('删除学号".$KCH."成功!');</script>";
    }
    }
    }
    ?>
      

  3.   

    mysql_query("SET NAMES gb2312");
    太长了 没细看 贴出报错的信息 及报错行的代码 
      

  4.   

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\www\stu_project\Addkcb.php on line 101
    SQL错误:Unknown column '璇剧▼鍙? in 'field list'添加失败!
      

  5.   

    $s_row=mysql_fetch_array($s_result);  这是101行
      

  6.   

    我本来用gb2312
    现在注释掉//mysql_query("SET NAMES gb2312");
    添加课程号001出现下面:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\www\stu_project\Addkcb.php on line 101
    SQL错误:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '课程号 from KCB where 课程号='001'' at line 1添加失败!
      

  7.   

    建议统一字符集为UTF-8mysql_query("SET NAMES 'gb2312'");  //设置字符集改为mysql_query("SET NAMES utf8");  //设置字符集
    注意尽量不要在SQL语句中出现中文,数据库表字段命名尽量使用英文
      

  8.   

    $s_sql="select `课程号` from KCB where `课程号`='$KCH'";
    这样改下看可以么? 
      

  9.   

    使用order by '字段'
      

  10.   

    嗯 真的可以,谢谢!如果我要把excel的数据上到数据库且要与学生表的每个字段对应,如excel表的学号对应数据库学生表的学号,其他依次类推、、、、    代码怎么写才能实现?
      

  11.   

    $sql="select * from KCB where 课程号='$KCNumber'";
    改成:
    $sql='select * from KCB where '课程号'="'.$KCNumber.'"';