如何解决以下错误?
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
时,很难知道您实际使用的是什么,所以我将测试 GET
和 POST
。
像这样
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
现在您将只尝试使用这些变量和依赖于它们的数据库更新(如果它们实际存在的话)。
连接成功..
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
时,很难知道您实际使用的是什么,所以我将测试 GET
和 POST
。
像这样
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
现在您将只尝试使用这些变量和依赖于它们的数据库更新(如果它们实际存在的话)。