0

当我单击一个按钮并显示一条消息以通知连接成功或失败时,我正在尝试连接到 PostgreSQL 数据库。

这是我第一次在 Web 界面中使用 Jaxon(PHP lib 来做 AJAX,XAJAX 的分支)做这样的操作。

<?php
include "vendor/autoload.php";
use Jaxon\Response\Response;
use Jaxon\jaxon;

class Db_connection
{
    public function test() {
        $host = "host = localhost";
        $port = "port = 5432";
        $dbname = "dbname = test";
        $user = "user = test";
        $password = "password = test";
        $response = new Response();
        $textFail = "Error : Unable to open database";
        $textValid = "Opened database successfully";

        $db = pg_connect("$host $port $dbname $user $password" );
        if(!$db){
          $response->alert($textFail);
           return $response;
        }else {
            $response->alert($textValid);
            return $response;
        }
    }
}

$jaxon = jaxon();
$jaxon->register(Jaxon::CALLABLE_OBJECT, new Db_connection());
$jaxon->processRequest();

?>

<!doctype html>
<html>
<head>
    <title>Jaxon Simple Test</title>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="/favicon.ico">
</head>
<body>
<input type="button" value="Submit" onclick="JaxonDb_connection.test()" />
</body>
<?php

echo $jaxon->getJs();
echo $jaxon->getScript();

?>
</html>

当我从浏览器单击按钮时,我什么也得不到。

我想从中吸取教训,所以,如果可能的话,向我解释我在这里做错了什么,或者我的方法是否缺乏洞察力。

4

1 回答 1

1

在https://www.php.net/manual/fr/function.pg-connect.php查看 pg_connect() 文档。您需要修复其参数。

您可能还想使用浏览器的开发人员模式来查看应用程序何时返回 HTML 错误而不是预期的 json,在这种情况下,这解释了为什么您的网页中什么也没有。

蒂埃里

于 2019-08-02T11:43:09.360 回答