使用php填充mysql创建表

时间:2012-07-25 20:41:22

标签: php mysql html wamp

我使用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)";

3 个答案:

答案 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()如果你想保持简单快捷,可以成为你最好的朋友。