如何解决以下错误?

how to fix this below error?

连接成功..

Notice: Undefined index: blog_id in C:\xampp\htdocs\lendkarma\dashboard\editpost.php on line 3 Notice: Undefined index: empid in C:\xampp\htdocs\lendkarma\dashboard\editpost.php on line 5 Notice: Undefined index: blog_title in C:\xampp\htdocs\lendkarma\dashboard\editpost.php on line 6 Notice: Undefined index: blog_content in C:\xampp\htdocs\lendkarma\dashboard\editpost.php on line 7

Notice: Undefined index: blog_author in C:\xampp\htdocs\lendkarma\dashboard\editpost.php on line 8

Update blogs SET empid='',blog_title='',blog_content='',blog_author='' WHERE blog_id =

Warning: odbc_exec(): SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server] Incorrect syntax near '='., SQL state 37000 in SQLExecDirect in C:\xampp\htdocs\lendkarma\dashboard\editpost.php on line 16

<?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";
    }
?>

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

举个例子:

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

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

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

如果它不影响您的输出意味着通过在脚本顶部调用 error_reporting(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

现在您将只尝试使用这些变量和依赖于它们的数据库更新(如果它们实际存在的话)。