2016-04-24 81 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