通过在javascript中调用post无法从php获取数据

时间:2014-02-17 16:31:48

标签: javascript php ajax

当我从数据库中获取数据时,我正在使用php中的预准备语句,因为我被告知这是一种安全的工作方式。问题是我无法在javascript中从外部php文件中检索查询返回的数据 当我通过更改post直接在url中发送参数时,我可以看到数据,获取方法:(localhost / prueba_prepared_statements.php?transportista = 1) 但是当我在javascript中使用ajax调用时,我看不到任何东西。

这是我的php文件代码: prueba_prepared_statement.php:

<?php
    include "conexion.php";
    $input_variable = $_POST['input_variable'];
    $sql = oci_parse($conn, "SELECT COD, NAME FROM TABLE WHERE COD = :input_variable");
    oci_bind_by_name($sql, ':input_variable', $input_variable);
    $resultado = oci_execute($sql);

    if ($resultado){
        $sql= oci_fetch_array($sql);
        echo json_encode($sql);
    }
?>

这是我的javascript文件,我发送参数并想从我的php文件中检索数据:

function trae_transportista(){
    input_variable = $('#input_variable').val();
    $.ajax({
        url : "prueba_prepared_statement.php", 
        type : "POST",
        dataType : "json",
        data: {"input_variable" : input_variable},
        success : function(data){
            alert(data.NAME);  
        }           
    });
};

如果我没有为我的查询使用预准备语句,javascript中的上述代码就可以了,如下所示:

 <?php
    include "conexion.php";
    $input_variable = $_POST['input_variable'];
    $sql= oci_parse($conn,"SELECT COD, NAME FROM TABLE WHERE COD=" . $input_variable);
    $resultado = oci_execute($sql);
    if ($resultado){
        $sql= oci_fetch_array($sql);
        echo json_encode($sql);
    }
?>

0 个答案:

没有答案