2012-07-25 141 views
-1

我使用mysql創建了表。即時嘗試填充他們與我的PHP code.if我的表是空的,我嘗試插入它給出錯誤,但如果我最初添加與我的SQL之後,我的插入完美工作。我花了幾個小時,但我不能確定我it..how可以解決這個問題 再次感謝使用mysql填充mysql創建表

注意:未定義指數:

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

這隻看起來像點點滴滴......我們**不知道**你在做什麼...... – Neal 2012-07-25 20:44:19

+0

這裏是完整的代碼 – user1552802 2012-07-25 20:47:14

+1

什麼行是未定義的索引?您可能需要檢查每一行以確保它確實存在。 – aynber 2012-07-25 20:48:15

回答

2

公告:未定義指數:是指一個你您傳遞的$ _POST []變量不存在,或者拼錯其中一個。將每個$ _POST []與表單的名稱屬性進行比較,也許你錯過了一個。嘗試的print_r($ _ POST),所以你可以看到正確的錯別字

0

當使用:

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

值數和在表1的列數必須匹配正是。如果你沒有正確地設置你的phpAdmin表格,這可能是你的問題

+1

'注意:未定義索引:'不是MySQL錯誤消息。 – 2012-07-25 20:54:07

0

一個錯誤是,在插入查詢的值中,你使用PHP變量,如$iproject_id$ititle,而這些變量不存在。您將POST數據的project_id和title放入代碼中(名稱爲$project_id$title)的變量(注意$符號後缺少i)。

確保查詢中的變量名稱與您分配POST數據的變量名稱匹配是個好主意。

請在將數據插入數據庫之前對其進行清理。永遠不要信任用戶數據,出於安全原因,總是嘗試對其進行消毒。如果你想保持它的快速和簡單,mysql_real_escape_string()可以成爲你最好的朋友。