2012-04-20 80 views
1

附近使用正確的語法我已經將此數據插入數據庫的代碼,但即使我已經多次檢查語法,我仍然收到此錯誤,任何人都可以幫助我?
錯誤:您在SQL語法中有錯誤;檢查對應於您的MySQL服務器版本的手冊,以便在

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'cou ?','output','input','new line', 'break','output','Multiable_Choise')' at line 4

<?php 
$connectdb = mysql_connect('localhost','root','sara', true) or die ("Not Connect"); 
if (!$connectdb) 
{ 
    die('Could not connect :'. mysql_errno()); 
} 
$selestdb = mysql_select_db('iexa', $connectdb) or die ("not selected database"); 

$chois_1 = array(); 
$chois_2 = array(); 
$chois_3 = array(); 
$chois_4 = array(); 
$Question = array(); 
$correct = array(); 
$correct['Correct_Answer']= mysql_real_escape_string($_POST['Correct_Answer']) ; 
$Question['Question']= mysql_real_escape_string($_POST['Question']) ; 
$chois_1['Choise_1']= mysql_real_escape_string($_POST['Choise_1']) ; 
$chois_2['Choise_2']= mysql_real_escape_string($_POST['Choise_2']) ; 
$chois_3['Choise_3'] = mysql_real_escape_string($_POST['Choise_3']) ; 
$chois_4['Choise_4'] = mysql_real_escape_string($_POST['Choise_4']) ; 
if (isset($_POST['E_No'])) { 
    $E_no = $_POST['E_No']; 
} 
    if (isset($_REQUEST['courseID'])) { 
    $courseId = $_REQUEST['courseID']; 
    } 

    $sql ="INSERT INTO question_bank (C_ID ,E_No , Question , Choise_1 , Choise_2   ,   Choise_3 , Choise_4 , Correct_Answer 
    , Question_Type) 
      VALUES 
      ('$courseId','$E_no',       {$Question['Question']}','{$chois_1['Choise_1']}','{$chois_2['Choise_2']}','{$chois_3['Choise_3']}', 
    '{$chois_4['Choise_4']}','{$correct['Correct_Answer']}','$_POST[Question_Type]') 
    "; 
      if (!mysql_query($sql,$connectdb)) 
      { 
        die ('Error :'.mysql_error()); 
      } 
      echo "The Qustion is saved"; 
      echo ' <br /> 
      <a href="question.htm" >Add Another Question</a> <br /> 
      <a href="ManageStudents.htm">Manage Students</a> <br /> 
      <a href="Instructor.htm">Home</a> 
      '; 
      mysql_close($connectdb); 
      ?> 
+0

的意見面前:正如你可能已經注意到,該錯誤消息狀態(除其他事項外)的行號。這是一個非常有用的信息,也是如何編寫查詢的提示:線條越多,查找錯誤就越容易。更多,當然是合理的。 – bostaf 2012-04-20 23:42:07

+0

你能告訴我們你桌子的結構嗎?可能C_ID和E_NO是整數,並且您試圖將字符串插入到這些字段中。 – Virendra 2012-04-21 02:26:25

回答

2

有一個'失蹤的{$Question['Question']}'

+0

我已修復它,但它沒有插入E_no&courseId! – 2012-04-20 23:41:36

+0

@ SaraS'h就在'$ sql =「INSERT ...'之前,你可以var_dump($ E_no);''和'var_dump($ courseId);'?這兩個變量都是有條件地設置的。沒有設置,'var_dump'會回顯兩個變量的值。 – bostaf 2012-04-20 23:46:34

相關問題