2014-11-22 87 views
0
$.ajax({ 
    url: 'http://localhost/xampp/htdocs/ajax.php', 

    contentType: 'application/json', 
    type: 'post', 
    data: { 

//分數是一個新的變量和COUNT2是一個整數變量,我想將它發送到數據庫 「分數」:「COUNT2」 },問題與插入到SQL查詢

success: function() { 
     alert("ok"); 

    }, 
    error: function() { 
     alert("error"); 
    } 
});  

上面的代碼提醒我「ok」。

function connect(){ 
    $connect = mysql_connect('localhost','root','') or die("ERROR"); 
    $connect2Database = mysql_select_db('fypdb', $connect); 
    return $connect; 
} 

if(isset($_POST)){ 

    if($connect = connect()){ 

     $query = "INSERT INTO fypdbtable (score) VALUES ('".$_POST['score']."');"; 
     $completeQuery = mysql_query($query, $connect); 
    } 
} 

我認爲這個問題是在 「插入」 查詢,因爲在ajax.php提示我注意:未定義指數:得分在C:\ XAMPP \ htdocs中\ XAMPP \ htdocs中\上線14 ajax.php其中它是查詢行

任何幫助會感激

+1

你** **需要停止使用' mysql_'的擴展名。改用MySQLi或PDO。此外,您的代碼是廣泛開放的SQL注入,閱讀[我怎樣才能防止SQL注入PHP?](http://stackoverflow.com/q/60174/3899908) – worldofjr 2014-11-22 21:35:53

+1

如果你有'if(isset($ _ POST )){'use'if(isset($ _ POST ['score'])){'改爲。我非常懷疑這個數值沒有設定。 – worldofjr 2014-11-22 21:39:01

+0

它設置爲從fyp.php count2,並試圖將其移動到ajax.php並從那裏到我的數據庫 – 2014-11-22 22:46:17

回答

0

的「錯誤」的信息告訴你,那$ _ POST [「分數」]沒有定義。但那只是一個警告。如果您想知道您的變量是否已設置,請使用isset()函數或關閉配置中的警告。

+0

它實際上是一個通知,而不是警告,但在開發過程中保持這些是重要的。 – Devon 2014-11-22 22:13:52

+0

是的,但在生產環境中,您應該把它變成 – harrow 2014-11-22 22:15:59

+0

是的,生產環境不應該有任何報告,但應記錄錯誤。您也不應該在生產中的查詢中使用'$ _POST'變量。 – Devon 2014-11-22 22:17:35

1

問題在於你的ajax代碼。您正在使用contentType: 'application/json',但您嘗試在$_POST的php腳本中訪問 param,但發佈的表單使用表單編碼的內容類型。 所以,你可以從你的Ajax調用刪除的contentType,它會使用默認這是
contentType:'application/x-www-form-urlencoded; charset=UTF-8'

編輯 讓你的Ajax代碼那樣:

$.ajax({ 
url: 'http://localhost/xampp/htdocs/ajax.php', 
type: 'post', 
data: { 
    "score":"count2" 
}, 

success: function() { 
    alert("ok"); 

}, 
error: function() { 
    alert("error"); 
} 
}); 
+0

感謝您的努力,但仍然沒有將變量傳遞給ajax.php – 2014-11-22 22:07:30

+0

正如我可以在他的PHP腳本中看到的,他不會像json那樣處理這個問題,但是和普通的post一樣,所以這就是爲什麼他的「insert into」不起作用。 – alphawow 2014-11-22 22:08:27

+0

你可能是對的。自從我使用jquery ajax以來已經有一段時間了。編輯:是的,你是。我混淆了contentType和數據類型。從它的外觀來看,你不應該爲此設置contentType。 – Devon 2014-11-22 22:09:04