-1

我的 php 非常“弱”,所以我遇到了这个问题 -

<?php

include_once "../scripts/connect_to_mysql.php";

$title = $_POST['title'];
$desc = $_POST['description'];

$query = mysql_query("UPDATE images SET title='$title', description='$desc'") or die (mysql_error());

echo 'Operation Completed Successfully! <br /><br /><a href="index.php">Click Here</a>';
exit();
?>

未定义的索引错误description在第 9 行,$desc = $_POST['description'];数据库中的“描述”拼写也是正确的。

4

4 回答 4

1

您的表单需要将此信息发送到 php 文件。看起来你只有title你的形式而不是description. 您应该发布您的表格以获得更好的帮助。

<form ...>
  <input type="text" name="description" value="">
  <input type="text" name="title" value="">
</form>

您应该始终转义您在 SQL 查询中使用的数据。

于 2011-10-10T08:43:51.797 回答
1

显然,数组description中不存在字段,因此索引不指向任何内容。$_POSTdescription

var_dump($_POST);打印什么?

另外,这是内部系统吗?如果没有,您应该阅读 SQL 注入。

于 2011-10-10T08:44:08.377 回答
0

数组中没有带索引description的元素。$_POST

在该行之前尝试var_dump($_POST);检查数组。(或者,如果某些信息被剪切,请使用print_r($_POST);

于 2011-10-10T08:44:44.460 回答
-2

尝试做:

if(isset($_POST['description'])){echo "yes";}else{echo "no";}

这不会解决它,但它将有助于确定 $_POST['description'] 是否存在。另外,它的来源是$_POST['description']什么?,它设置在../scripts/connect_to_mysql.php吗?如何?

除非执行更复杂的任务(即 AJAX),否则 POST 变量通常是通过提交表单来设置的——您的代码是在表单提交之后加载页面之后出现的吗?如果没有,您可能错误地使用了 _POST 变量...

如果$_POST['description']在代码中的某处设置../scripts/connect_to_mysql.php,并且通过包含您希望检索其值的文件 - 您可能会做错事 - 您能否提供有关 来源的信息$_POST['description']

于 2011-10-10T08:43:24.960 回答