2016-08-26 59 views
-1

我已經搜索過,我試過不同的建議,但它仍然沒有爲我工作。我真的不知道錯在哪裏,我不知道我做錯了什麼。我的查詢不斷返回false,這是我的代碼。請幫助在php中mysqli_query保持返回false

$con = mysqli_connect($server, $username, $password); 
    if(!$con){ 
     echo "Server Connection Failed". mysqli_error(); 
    } 
    if(!mysqli_select_db($con, 'jerrytech')){ 
     echo "Db connection failed"; 
     exit(); 
    } 
$query = " 
      INSERT INTO enrol-form (name, phone, email, package, time) 
      VALUES ('$name', '$phone', '$email', '$package', now()) 
      "; 

    $result = mysqli_query($con, $query); 
    var_dump($result); 
    exit(); 

    if(!$result){ 
     echo "Error Communicating with Database"; 
     //header ("Location: $url"); 
     exit(); 
    } 
    else { 
     echo 'Form Submitted!'; 
    } 

我是php編程新手。所以請保持解釋像一箇中間人可以應付的容易。

+2

你有任何錯誤或其他? –

+1

如果你迴應查詢什麼結果呢? –

+2

您可以[** SQL注入**](https://www.owasp.org/index.php/SQL_Injection)。使用預準備的語句 –

回答

2

嘗試backticking你的表名:

來源:

INSERT INTO enrol-form 

要:

INSERT INTO `enrol-form` 

編輯爲清楚:在表名稱中使用破折號需要你反引號吧。表格的簡單名稱可能是enrolForm,它不需要反引號。

Edit2:正如其他人所指出的,這個特定的查詢是完全不安全的,並且對sql注入是開放的。如有可能,應始終使用prepared statements,特別是在您輸入用戶數據時。

+2

問題解決了。謝謝Shnibble ...我已經刪除了 - 在我的表名之間。非常感謝...我喜歡Stackoverflow。非常感謝,我真的很感激 –