簡體   English   中英

PHP不將變量傳遞給ajax

[英]PHP Not passing variables through to ajax

我正在從js文件通過大洲傳遞到PHP文件。 基本上,我需要將數據插入數據庫(放入大洲)並獲取它的ID ,但是無論我做什么,它都會返回一個empty string500 Internal Service Error

這是PHP Code

$continent = $_POST['continent'];

$sql = "INSERT INTO location_continent (`name`) VALUES ('". $continent ."')";

if(!$result = mysqli_query($con, $sql)){
    die('There was an error running the query [' . $db->error . ']');
}

$sql = "SELECT id FROM location_continent WHERE `name` = '". $continent ."'";
$result2 = $con->query($sql);
if(!$result2){
    die('There was an error running the query [' . $con->error . ']');
}
return $result2->num_rows;

這是JS Code

$.ajax({
        url: 'process.php?section=continent',
        type: 'POST',
        data: 'continent='+key,
        success: function(res) {
            continentid = res;
            console.log(res);
        },
        error: function(res) {
            console.log(res);
        }
    });

通過的Key將類似於Africa

我在php file嘗試了以下內容:

return mysqli_insert_id($conn);
return $result;
$result = mysqli_query($con, $sql);

我已經奮斗了大約2個小時。 我似乎找不到錯誤。

注意請注意,信息正好插入到數據庫中,只是我無法獲取ID。

在ajax中,您需要打印/回顯輸出以獲取返回數據而不是return語句,因此請嘗試替換

return $result2->num_rows;

echo $result2->num_rows;

您也可以發送查詢字符串,例如:

$.ajax({
        url: 'process.php',
        type: 'POST',
        data: {'section':'continent','continent':key},
        success: function(res) {
            continentid = res;
            console.log(res);
        },
        error: function(res) {
            console.log(res);
        }
    });

然后通過回聲檢查您的發布數據,以解決查詢執行中的錯誤,找不到發布代碼中定義的$con$db

您正在返回,但您不在函數中,因此請嘗試使用echo mysqli_insert_id($conn);echo mysqli_insert_id($conn);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM