为什么这个查询失败了?

use*_*ser 0 php jquery psql

<?php

$connect = pg_connect("dbname=$dbase host=".$host." user=".$user." password=".$pass) or die("I sense a disturbance in the force ");

$action = $_POST['action'];

switch($action){
case 'bagSubmit' : bagSubmit(); break;
}

function bagSubmit(){
    $sql = 'SELECT * FROM cntrt';
    $query = pg_query($connect,$sql) or die('could not connect');
}
?>
Run Code Online (Sandbox Code Playgroud)

上面的php返回"无法连接".sql查询在数据库中执行正常.这是我在php中执行查询的常规过程(以前一直工作).现在唯一的区别是我从jquery调用php.jquery也正常运行,因为返回了查询失败('无法连接')这一事实.我错过了什么?

$.ajax({
    url: 'functions.php',
data: {action: 'bagSubmit'},
type: 'post',
success: function(response){
    $('body').append(response);
}
});
Run Code Online (Sandbox Code Playgroud)

小智 7

$ connect未定义.你需要

function bagSubmit(){
    global $connect;
    $sql = 'SELECT * FROM cntrt';
    $query = pg_query($connect,$sql) or die('could not connect');
}
Run Code Online (Sandbox Code Playgroud)

  • 呃,如果全球是一个好主意.也许只是将连接传递给函数? (3认同)