2012-04-12 73 views
0

我有一個ajax調用一個php文件插入記錄到數據庫。但是,我沒有看到在PHP文件中傳遞的參數的值,我有用於將值插入數據庫的代碼。這是我的Ajax調用ajax沒有傳遞參數到php

dataString = 'firstname=Jim&lastname=Smith'; 
    $.ajax(
    { 
    type: "POST", 
    url: "submit.php", 
    data: dataString, 
    }); 

這是我在我的submit.php文件

$first_name = mysql_escape_string($_POST('firstname')); 
$last_name = mysql_escape_string($_POST('lastname')); 
$query = "INSERT into USERS (first_name, last_name) VALUES ('$first_name','$last_name'); 

閱讀的價值,但我沒有看到在$ FIRST_NAME或$姓氏和任何價值,因此沒有記錄越來越插入。如果我在submit.php文件中靜態定義$ first_name ='Jim'和$ last_name ='Smith',那麼我會看到記錄被插入到數據庫中。任何想法我做錯了什麼?

回答

3

$_POST是一個數組,因此您應該使用$_POST['var']訪問其內容,而不是$_POST('var')。我建議你啓用錯誤報告,這將幫助你更好地進行調試。例如,你的代碼會導致一個致命的錯誤。

$first_name = mysql_escape_string($_POST['firstname']); 
$last_name = mysql_escape_string($_POST['lastname']); 
+0

謝謝克里斯蒂安,解決了它。不知道我是如何錯過這樣一件小事。 – amey1908 2012-04-12 17:36:12

0

你可以嘗試添加PARAMS中的對象結構,而不是一個字符串,如:

數據:{姓:「吉姆」,姓氏:「史密斯」}