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

无法通过在javascript中调用post从php获取数据,javascript,php,ajax,Javascript,Php,Ajax,当我从数据库中获取数据时,我正在用php编写语句,因为我被告知这是一种安全的工作方式。问题是我无法从javascript中的外部php文件检索查询返回的数据。 当我通过更改post直接在url中发送参数以获取方法:localhost/prueba_prepared_statements.php?transportista=1时,我确实可以看到数据 但是当我在javascript中使用ajax调用时,我什么都看不到 这是我的php文件代码: prueba_prepared_statement.ph

当我从数据库中获取数据时,我正在用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);
    }
?>
如果我不在查询中使用prepared语句,上面的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);
    }
?>

您正在将用户输入附加到数据库查询。。。这是信息。这里有一个链接,允许您按照应该做的那样将参数正确绑定到准备好的语句。我认为这些都不能解决您的问题,因此发表了评论,但我无法忍受SQL注入-它太容易修复。您在成功函数中实际返回的数据类型是什么?尝试console.logtypeof数据;控制台日志数据;查询结果是一个由numbercod和varcharname组成的唯一行,但是当我运行console.logtypeof data时,它会说数据是:Object.doa console.logdata并查看该对象的结构…出于某种原因,我的代码正在工作..我猜windows与此有关,因为我所做的唯一一件事就是重写我的php文件:S
 <?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);
    }
?>