尋找一個最好的解決辦法:PHP JSON數據返回的jQuery
$.getJSON("InsertData.php", {fullName:val1, course_id:course_id, occupation:val2}, function(data) {
$.each(data, function(i, user) {
//alert(user.aryA.status);
if(user.aryA.status == 'true'){
currentPosition = 2;
checkData();
nextSlide();
}else{
nextSlide();
}
});
})
這裏是PHP代碼:
mysql_select_db("db", $con);
$Query="SELECT * from table WHERE fullName='".$fullName."' and course_id='".$cid."'";
$result = mysql_query($Query);
$totalRecords = mysql_num_rows($result);
if($totalRecords) {
while ($row = mysql_fetch_array($result)) {
$returnData[]=array( //for Json data array
'userName' => $row['fullName'],
'aryA' => array(
'status' => $row['status']
)
);
}
}
if(!$totalRecords) {
$insertQuery="INSERT INTO table (fullName,course_id,occupation) VALUES ('".addslashes($fullName)."','".addslashes($cid)."','".addslashes($d3)."')";
$result1 = mysql_query($insertQuery);
}else{
if($stat == "true"){$value = 1;}
}
mysql_close($con);
echo json_encode($returnData);
所以,當我打的PHP通過jQuery的第一情況下,它在數據庫中保存數據,但給我錯誤或長度。因爲$ returnData是空的。有沒有辦法,如果$ totalRecords是假的,如何發送json_encode說沒有數據或通過json_encode沒有任何價值我的jQuery功能。
在此先感謝。
您正在使用[**的**過時的數據庫API(http://stackoverflow.com/q/12859942/19068),並應使用[現代更換](http://php.net/manual/ EN/mysqlinfo.api.choosing.php)。你還**易受[SQL注入攻擊(http://bobby-tables.com/)**,一個現代化的API會更容易爲[維護](http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php)自己從。 – Quentin 2013-04-25 14:42:31
拜託,請......第time個時間:_stop使用'mysql_ *'_ _。這是不安全的並且被棄用,並且會隨時從PHP中完全刪除。使用'mysqli_ *'或'PDO' – 2013-04-25 14:42:51
只需在代碼頂部添加'$ returnData = array()'。這將被編碼爲''[]''。當'$ .each'傳遞一個空數組時,它什麼也不做。 – 2013-04-25 14:47:07