我使用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)";
答案 0 :(得分:2)
注意:未定义索引:表示您传递的$ _POST []变量之一不存在或者拼错了其中一个变量。将每个$ _POST []与表单的name属性进行比较,可能只是错过了一个。尝试print_r($ _ POST),这样你就可以看到正确的拼写错误
答案 1 :(得分:0)
使用时:
INSERT INTO `project` Values ($project_id,$title,$start_date,...etc);
表1中的VALUES编号和列数必须与 完全匹配 。如果你还没有在phpAdmin中正确设置表,这可能是你的问题
答案 2 :(得分:0)
一个错误是,在插入查询的值中,您使用PHP变量,例如$iproject_id
和$ititle
,而这些变量不存在。您将POST数据的project_id和title放在代码中名为$project_id
和$title
的变量中(请注意$符号后缺少i)。
最好确保查询中的变量名与您分配POST数据的变量名相匹配。
请在将数据插入数据库之前清理输入。永远不要信任用户数据,因为出于安全考虑,请始终尝试对其进行清理。 mysql_real_escape_string()
如果你想保持简单快捷,可以成为你最好的朋友。