如何修复此错误?

时间:2015-07-31 08:55:50

标签: php sql-server-2008r2-express

成功连接..

  

注意:未定义的索引:第3行的C:\ xampp \ htdocs \ lendkarma \ dashboard \ editpost.php中的blog_id   注意:未定义的索引:第5行的C:\ xampp \ htdocs \ lendkarma \ dashboard \ editpost.php中的empid   注意:未定义的索引:第6行的C:\ xampp \ htdocs \ lendkarma \ dashboard \ editpost.php中的blog_title   注意:未定义的索引:第7行的C:\ xampp \ htdocs \ lendkarma \ dashboard \ editpost.php中的blog_content

     

注意:未定义的索引:第8行的C:\ xampp \ htdocs \ lendkarma \ dashboard \ editpost.php中的blog_author

     

更新博客SET empid ='',blog_title ='',blog_content ='',blog_author =''在哪里blog_id =

     

警告:odbc_exec():SQL错误:[Microsoft] [ODBC SQL Server驱动程序] [SQL Server]   在第16行的C:\ xampp \ htdocs \ lendkarma \ dashboard \ editpost.php中的SQLExecDirect中的' ='。,SQL状态37000附近的语法不正确

<?php

include_once 'config/db_config.php';

$blogid = $_REQUEST['blog_id'];

//$password = $_POST['optionsRadios'];

$empid=$_REQUEST['empid'];

$blog_title=$_REQUEST['blog_title'];

$blog_content=$_REQUEST['blog_content'];

$blog_author=$_REQUEST['blog_author'];

//$status=$_REQUEST['status'];

if($userconnection)
    {  
       $query = "UPDATE blogs SET empid='$empid',blog_title='$blog_title',blog_content='$blog_content',blog_author='$blog_author' WHERE blog_id = $blogid";
       echo $query;
       $rs = odbc_exec($userconnection,$query);
    }
  else
    {
        echo "something went wrong";
    }
?>

3 个答案:

答案 0 :(得分:0)

要修复错误,您可以在使用之前查询变量是否存在。 您可以使用函数isset或empty来检查变量是否存在。

以下是一个例子:

if(isset($array['empid'])) {
    // do it
} else {
    // dont do it because the variable dont exist.
}

答案 1 :(得分:0)

此错误背后的原因是值未分配给变量。

如果它影响您的输出,请尝试正确修复变量赋值。

如果它不影响你的输出意味着通过调用脚本顶部的error_reporting(0)来解决错误。

答案 2 :(得分:0)

我认为这不是所有脚本,并且您在此脚本应该处理的脚本中稍后有<form>

然而,第一次运行脚本时,$_POST$_GET数组中没有任何数据,因为表单尚未发布,它刚刚首次启动。

您需要将此代码包装在测试表单是第一次运行还是由按下提交按钮的用户发送的内容中

当您使用$_REQUEST时很难知道您实际使用的是什么,因此我会测试GETPOST

这样的事情

if ($_SERVER["REQUEST_METHOD"] == 'POST' || $_SERVER["REQUEST_METHOD"] == 'GET') {
    // The user must have presses the submit button

    // you should check for valid contents of all these fields first
    $blogid       = isset($_REQUEST['blog_id'])      ? $_REQUEST['blog_id']      : '';
    $empid        = isset($_REQUEST['empid'])        ? $_REQUEST['empid']        : '';
    $blog_title   = isset($_REQUEST['blog_title'])   ? $_REQUEST['blog_title']   : '';
    $blog_content = isset($_REQUEST['blog_content']) ? $_REQUEST['blog_content'] : '';
    $blog_author  = isset($_REQUEST['blog_author'])  ? $_REQUEST['blog_author']  : '';

    if (isset($blogid,$userconnection)) {  
       $query = "UPDATE blogs SET 
                    empid='$empid',
                    blog_title='$blog_title',
                    blog_content='$blog_content',
                    blog_author='$blog_author' 
                 WHERE blog_id = $blogid";

       $rs = odbc_exec($userconnection,$query);
       if ( ! $rs ) {
        echo odbc_errormsg($userconnection);
       }
    } else {
        echo "Please fill all the fields";
    }
}

// now comes the html for the page

现在,您只会尝试使用这些变量以及依赖于它们的数据库更新(如果它们确实存在)。