2016-04-24 132 views
-1

這是我的代碼形式的數據添加到MySQL時,「網站無法處理請求」:我在嘗試使用PHP

<?php 

    $link = mysqli_connect("localhost", "user", "pw", "dbname"); 

    //if(mysqli_connect_error()){ 

     //echo "There was an error"; 
    //}else{ 

     //echo "Database connection successful"; } 

    // Check connection 
    if ($link->connect_error) { 
     die("Connection failed: " . $link->connect_error); 
    } 

//The problem started after I added the following code 

    mysqli_query($link,"INSERT INTO posts (name, email, phonenumber, billAddress, billCity, billProvince, billPC) 
    VALUES ('$_POST[name]', '$_POST[email]', '$_POST[phonenumber]', '$_POST[billAddress]', '$_POST[billCity]', '$_POST[billProvince]', '$_POST[billPC]')"; 



?> 

添加代碼的最後位之前,這是工作的罰款。在我添加代碼並點擊刷新後,我收到http 500錯誤。它還表示我的網頁無法正常工作,我的網頁目前無法處理請求。

我不確定這是我的編碼問題還是別的。請提前幫助並感謝您。

Screenshot of the error message

+2

不是你目前的問題,但要意識到你允許任何人在數據庫查詢中注入任何他們想要的東西。請了解參數,不要再次使用這種類型的代碼。它也可能顯示實際的錯誤。 –

回答

0

你已經錯過了一個右括號:

mysqli_query($link,"INSERT INTO posts (name, email, phonenumber, billAddress, billCity, billProvince, billPC)) 

VALUES ('$_POST[name]', '$_POST[email]', '$_POST[phonenumber]', '$_POST[billAddress]', '$_POST[billCity]', '$_POST[billProvince]', '$_POST[billPC]')"; 

還有,記得逃脫使用mysqli_real_escape_string()防止MySQL的注射的字符串。


提示:你應該將此代碼添加到您的PHP文件的頂部,這將幫助你找到錯誤打開Error Reporting

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 
+0

@ Hsk3502這是否解決您的問題?也許可以通過點擊upvote/downvote按鈕下方的勾號來接受它,謝謝! – Panda

+0

我已經添加了缺少的括號,它仍然表示網頁無法處理請求。我也知道當前的代碼是開放的注入,並期待更多地瞭解它。我甚至嘗試用最基本的代碼重寫所有內容,但仍然說我的網站無法處理請求。 – Hsk3502