Web服务器意外退出,重新启动新实例

时间:2012-08-25 23:45:27

标签: php javascript apache

我没有任何其他选择,但要再次问这里......过去5个小时,问题就是杀了我。我得到了调用javascript函数的按钮,然后javascript打开另一个php页面并插入MySQL数据库。

HTML code:

<ul>
<li id="ConfirmButton" name="Insert" onclick="GetAllIDs()"><a>Potvrdi</a></li>
</ul>

Javascript代码:

var request_type;
var browser = navigator.appName;
if (browser == "Microsoft Internet Explorer") {
request_type = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
request_type = new XMLHttpRequest();
}

var http = request_type;
http.open('get', 'insert.php?MatchID='+MatchID+'&TipID='+TipID+'&UserID=' + 1,true);
http.send(null); 

PHP代码:

include('config.php');
$matchID = $_GET['MatchID'];
$tipID = $_GET['TipID'];
$userID = $_GET['UserID'];

// Escape User Input to help prevent SQL Injection  
$MatchID = mysql_real_escape_string($matchID); 
$TipID = mysql_real_escape_string($tipID); 
$UserID = mysql_real_escape_string($userID); 

$insertTicket_sql = "INSERT INTO 
betslips(DateTime,MatchID,TipID,UserID)
VALUES(".$MatchID.",".$TipID.",'".date("Y-m-d H:i:s")."',".$UserID.")";
$insertTick= mysql_query($insertTicket_sql) or die(mysql_error());

所以在我运行此代码并使用断点之后,我在我的php代码中看到我通过表单正常发送的所有参数,它就在那里,但当我到达代码$insertTick时,我收到错误 Web服务器意外退出,重新启动新实例。

之前有没有人见过这个问题,我该如何处理?

谢谢

1 个答案:

答案 0 :(得分:0)

  之前有没有人见过这个问题?

不是我,我不使用mysql_ *函数。

您的INSERT查询参数和值不匹配。

所以我已将您的示例代码移植到PDO或许它有一些兴趣:

<?php 
//PDO Connect
try{
    $con = new PDO('mysql:host=127.0.0.1;dbname=yourDB','root','password');
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $con->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    $con->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
}catch (Exception $e){
    die('Cannot connect to database. Details:'.$e->getMessage());
}

//Check that the variables are set
if(isset($_GET['MatchID']) && isset($_GET['TipID']) && isset($_GET['UserID'])){

    //Prepare your query
    $query = $con->prepare("INSERT INTO betslips (DateTime,MatchID,TipID,UserID)
                            VALUES ('".date("Y-m-d H:i:s")."', :matchID, :tipID, :userID)");

    //Bind your values with the placeholders
    $query->bindParam(":matchID", $_GET['MatchID']);
    $query->bindParam(":tipID", $_GET['TipID']);
    $query->bindParam(":userID", $_GET['UserID']);

    //Execute
    $query->execute();
    die('Success!');
}else{
    die('Error: Parameter not set.');
}
?>