PHP不将变量传递给ajax

时间:2015-01-20 12:42:42

标签: javascript php jquery ajax

我从PHP文件传递到非洲大陆的js文件。基本上我需要将数据插入数据库(放入大陆)并获取它的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。

2 个答案:

答案 0 :(得分:2)

在ajax中,你需要打印/ echo输出返回数据而不是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检查您的帖子数据

答案 1 :(得分:0)

您正在返回,但您不在函数中,因此请尝试回显(echo mysqli_insert_id($conn);