2012-03-30 80 views
0

我試圖插入$ teacherId到數據庫中的「TeacherId」字段,但要做到這一點,它需要查找老師的用戶名「TeacherUsername」能夠找到正確的TeacherId與教師的用戶名相匹配。如何解決這個不確定的通知錯誤

問題是,我得到的通知指出:在這這裏27行teacherusername在/Mobile_app/QandATable2.php:

$teacherid = "SELECT TeacherId FROM (SELECT TeacherUsername from Teacher where TeacherUsername = '".mysql_real_escape_string($_POST['teacherusername'])."')"; 

爲什麼給我這個通知,因爲 注意:未定義指數有沒有錯$ _ POST方法,它的工作原理是在底部位置:

<?php echo $_POST['teacherusername']); ?> 

以下是完整代碼:

<?php> 

    session_start(); 

     $username="xxx"; 
     $password="xxx"; 
     $database="mobile_app"; 

     mysql_connect('localhost',$username,$password); 

     @mysql_select_db($database) or die("Unable to select database"); 

     $teacherid = "SELECT TeacherId FROM (SELECT TeacherUsername from Teacher where TeacherUsername = '".mysql_real_escape_string($_POST['teacherusername'])."')"; 

     $sql="INSERT INTO Session (TeacherId) 
     VALUES 
     (' ". mysql_real_escape_string($teacherid) . "')"; 

     mysql_query($sql); 

     mysql_close(); 
?> 

<?php echo $_POST['teacherusername']); ?> 
+0

在'$ _POST'什麼?你可以做一個'print_r($ _ POST)'嗎?請記住,數組索引區分大小寫。 – Brad 2012-03-30 16:24:57

+0

您可能在第一個'$ _POST ['teacherusername']'中有一個不可見的字符。嘗試刪除它並重新寫入。 – MichaelRushton 2012-03-30 16:26:13

+0

在$ _ POST [「teacherusername」],它崗位教師在一個文本框已進入前一頁用戶名。因此,例如,我在文本框中輸入'j.lu',當我提交表單時,在回顯中顯示'j.lu'。所以,$ _ POST的作品,但它不承認它在查詢我試圖做 – user1394925 2012-03-30 16:29:24

回答

1

如果此腳本運行僅在POST已經發生,並且你確信teacherusername應設置,那麼你可能想的var_dump($ _ POST),並仔細檢查形式還真是傳遞teacherusername場。

否則,如果該字段被認爲是可選的,請嘗試:

<?php 
if (isset($_POST) && isset($_POST['teacherusername'])) { 
    echo $_POST['teacherusername']; 
} 
?> 

這隻會隨聲附和後指數崗位設置,所以是有問題的領域。你甚至可以添加一個else來正確處理錯誤。如發回「此字段是必需的」消息。

希望這有助於

ISE

+0

對,做了一個var轉儲,它帶有一個NULL。但我改變$ _POST到$ _SESSION因爲我提到這在底部如果(isset($ _ POST [ 'teacherusername'])){$ _SESSION [ 'teacherusername'] = $ _POST [ 'teacherusername']; }。但問題是在數據庫中,它假設在TeacherId字段中聲明'T1',而是聲明'SEL'。這是什麼意思? – user1394925 2012-03-30 16:47:39

+0

如果var_dump($ _ POST)爲null,那麼您沒有正確提交表單。確保您的

標籤的屬性method =「post」正確組成。 – ise 2012-04-02 10:59:38