AJAX请求脚本无法正常执行数据库查询

时间:2016-08-29 13:48:22

标签: php jquery ajax postgresql

我正在编写一个简单的代码来执行一个AJAX请求,该请求进行数据库查询并返回数据。问题是pg_query()返回false。 php文档说:

  

如果发生错误,并且返回FALSE,如果连接有效,则可以使用pg_last_error()函数恢复此错误的详细信息。

我尝试使用pg_last_error()但是没有回复任何东西,所以很明显连接是无效的,但当我包含数据库连接类时它给了我一个500内部服务器错误,我想如果因为我打开了同样的正在发出AJAX请求的php文件中的连接。知道我怎么解决这个问题?

php脚本:

<?php   
    if(isset($_POST['idCliente'])){
        $id_cliente = $_POST['idCliente'];
        /* Consulta para obtener todos los proyectos de un cliente con id 'id_cliente' */
        $proyectos = "SELECT * FROM serviciocliente WHERE codcliente = ". $id_cliente ." ORDER BY nombreserservicio";
        $result_proyectos = pg_query($proyectos);
        echo pg_last_error();
        print_r($result_proyectos);
        echo json_encode($result_proyectos);
    }
?>

jquery脚本:

$( document ).ready(function() {
  $('#cliente').on('change', function() {
    var idCliente = this.value;
    $('#proyectos').empty();
    $.ajax({
      type: "POST",
      url: "getClientes.php",
      data: { 'idCliente': idCliente  },
      success: function(data){
        // Parse the returned json data
        var opts = $.parseJSON(data);
        // Use jQuery's each to iterate over the opts value
        $.each(opts, function(i, d) {
          $('#proyectos').append('<option value="' + d.ID + '">' + d.Name + '</option>');
        });
      }
    });
  });
});

0 个答案:

没有答案