-1

我使用 mysql 创建了表。我试图用我的 php 代码填充它们。如果我的表是空的并且我尝试插入它会给出错误,但如果我最初使用我的 sql 添加之后我的插入工作完美。我花了几个小时但我无法解决它..我该如何解决这个问题再次感谢

注意:未定义的索引:

    if (isset($_POST['action']) && $_POST['action']=='submitted') {

$project_id = $_POST['project_id'];
$title= $_POST['title'];
$start_date = $_POST['start_date'];
$end_date = $_POST['end_date'];
$parent_project_id = $_POST['parent_project_id'];
$is_completed= $_POST['is_completed'];
$completion_date= $_POST['completion_date'];
$user_id= $_POST['user_id'];
$iproject_id = $_POST['iproject_id'];
$ititle= $_POST['ititle'];
$istart_date = $_POST['istart_date'];
$iend_date = $_POST['iend_date'];
$iparent_project_id = $_POST['iparent_project_id'];
$iis_completed= $_POST['iis_completed'];
$icompletion_date= $_POST['icompletion_date'];
$iuser_id= $_POST['iuser_id'];
if (isset($_POST['update'])) {
$selected = $_POST['selected'];
if (isset($_POST['insert'])) {
$query = "INSERT INTO project (project_id,title,start_date,end_date,parent_project_id,is_completed,completion_date,user_id) VALUES ($iproject_id,'$ititle','$istart_date','$iend_date',$iparent_project_id,$iis_completed,'$icompletion_date',$iuser_id)";
4

3 回答 3

2

注意:未定义索引:表示您传递的 $_POST[] 变量之一不存在或您拼写错误其中之一。将每个 $_POST[] 与表单的 name 属性进行比较,也许您只是错过了一个。尝试 print_r($_POST) 以便您可以看到正确的拼写错误

于 2012-07-25T20:51:34.337 回答
0

一个错误是在插入查询的值中,您使用了 PHP 变量,例如$iproject_idand $ititle,而这些变量不存在。您将 POST 数据的 project_id 和 title 放入调用的变量$project_id$title代码中(注意 $ 符号后缺少 i)。

确保查询中的变量名与分配 POST 数据的变量名匹配是个好主意。

请在将输入插入数据库之前对其进行清理。永远不要相信用户数据,出于安全原因,请始终尝试对其进行清理。mysql_real_escape_string()如果您想保持快速和简单,可以成为您最好的朋友。

于 2012-07-25T21:09:15.050 回答
0

使用时:

INSERT INTO `project` Values ($project_id,$title,$start_date,...etc);

VALUES 数和 table1 中的列数必须完全匹配。如果您没有在 phpAdmin 中正确设置表,那可能是您的问题

于 2012-07-25T20:52:26.347 回答