我正在编写一个简单的代码来执行一个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>');
});
}
});
});
});