得到错误"未定义索引"

时间:2015-03-15 16:28:20

标签: php html css

1)未定义的索引:第192行的360d_addquestions.php中的que_id 2)警告:mysql_fetch_array()期望参数1是资源。

这是代码:

<?php 
$q = "select * from 360d_app_questions where que_id=".$_GET['que_id'];   //<---Undefined index: que_id in 360d_addquestions.php on line 192 
$out = mysql_query($q,$con);
$data = mysql_fetch_array($out);
?>

这是另一个代码:

if(isset($_POST["btns"])){                                      //<-----Inserting data in to databse

        $que_id = $_GET['que_id'];
        $que_detail = $_POST['que_detail'];
        $desg_id = $_POST['desg_id'];
        $rel_id = $_POST['rel_id'];
        $feedback_type = $_POST['cl'];
        $msg="";                
        if($que_id==0) 
          {
            $q = "insert into 360d_app_questions values(null,'{$que_detail}','{$desg_id}','{$rel_id}','{$feedback_type}')";
            $msg = "added";
          }
        else        
          {
            $q = "update 360d_app_questions set que_detail ='{$que_detail}', desg_id ='{$desg_id}', rel_id='{$rel_id}', cl='{$feedback_type}' where que_id=".$_GET['que_id'];
            $msg = "updated";       
          }
        $res = mysql_query($q,$con);
        if($res)
            echo "<h2>Question {$msg} sucessfully!!</h2>";
        else
            echo " '<h6>' question cannot be {$msg} '</h6>'";                       
     }

1 个答案:

答案 0 :(得分:0)

我会帮助你开始。

首先,应该定义变量。在实际尝试从中读取变量之前,请使用isset()或任何其他函数来检查变量是否已设置。在第一个代码段中:

$_GET['que_id']
除非将que_id =某些内容添加到地址栏中的URL,否则不会设置

。然后,这将使查询无效,结果集最多未定义。此外,您需要确保在使用任何基于mysql查询的函数(例如您使用的函数)之前,可以在脚本中建立与mysql服务器的连接。

此外,混合帖子和获取超级全局是一个可怕的想法,因为当在网络上提交某些内容时,请求方法是获取或发布,而不是两者,所以请遵循并在第二个代码中更改:

$que_id = $_GET['que_id'];

$que_id = $_POST['que_id'];

一旦你能够做到并且你获得了与数据库的有效连接,那么你提到的那些错误应该开始消失。