我的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();
?>
第9行的未定义索引错误是description
$desc = $_POST['description'];
,数据库拼写中的“description”也是正确的。
答案 0 :(得分:1)
您的表单需要将此信息发送到php文件。您的表单似乎只有title
而不是description
。您应该发布表单以获得更好的帮助。
<form ...>
<input type="text" name="description" value="">
<input type="text" name="title" value="">
</form>
您应该始终转义您在SQL查询中使用的数据。
答案 1 :(得分:1)
显然,description
数组中不存在$_POST
字段,因此索引description
不指向任何内容。
var_dump($_POST);
打印什么?
另外,这是一个内部系统吗?如果没有,您应该阅读SQL注入。
答案 2 :(得分:0)
description
数组中没有索引为$_POST
的元素。
在该行之前尝试var_dump($_POST);
以检查数组。 (或者,如果某些信息被删除,请使用print_r($_POST);
答案 3 :(得分:-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']
?