2012-08-25 76 views
0

我没有任何其他选项,但再次询问这里......问题在过去的5个小时里让我失望。我得到了那个调用javascript函数的按钮,然后javascript打开另一个php页面,并插入到MySQL数据库中。Web服务器意外退出,重新启动新实例

HTML代码:

<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服务器意外退出,重新启动新实例。

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

感谢

回答

0

有没有人见过这个问题吗?

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

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

所以IVE移植您的示例代码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.'); 
} 
?> 
+0

谢谢你这么多队友......我只是不明白的错误是多么愚蠢我做了......我猜它不冷静坐下来做整天的编程 – Veljko89