检查与数据库js的连接的最佳方法

时间:2013-02-04 18:04:57

标签: php javascript jquery postgresql

我在一个Web界面上工作,该界面接收并向远程PostGreSQL数据库发送信息。

从我在互联网上找到的内容看来,最好的方法是在外部.php文件中创建一个小的PHP脚本。

我遵循了这个想法,

所以我有那个脚本pg_connection.php来测试这种风格的数据库连接(用pg_connect):

$db = pg_connect("host=localhost port=5432 dbname=**** user=**** password=****") 
or die("Not Connected");
if ($db) {echo (Connected);} else {echo (Not Connected);}

如果我在我的webbrowser中只启动了那个pg_connection.php,它运行正常(我只是已经连接了我在脚本中输入的正确登录信息,或者如果我输入一个随机的IP地址则没有连接)。

然后在我的.js(+ jquery)外部脚本中使用:

$(document).ready(function(){
$("#dbstatus").load("php-services/pg_connection.php");
var dbstatus = new String();
dbstatus = $("#dbstatus").val();

if (dbstatus == "Connected")
{ /*jquery code to show a green light on a section in my html page*/}
else { /*jquery code to show a red light*/}
}

这部分有效:

在我的$(“#dbstatus”)对象中,它将通过Connected或Not Connected替换默认文本, 但它对我的条件下的绿/红灯没有任何影响

然后我进入Chrome控制台并键入dbstatus,我意识到我的var的内容是

<div id=​"dbstatus" class=​"span3">​Connected​</div>​

当我预计它只是“连接”时。

关于如何从所有这些额外的html内容中清除var的任何想法?

在js或Jquery中是否有更简单的方法来检查postgreSQL数据库状态?

2 个答案:

答案 0 :(得分:0)

而不是$("#dbstatus").val();使用$("#dbstatus").html();

答案 1 :(得分:0)

尝试将您的代码修改为:

$db = pg_connect("host=localhost port=5432 dbname=**** user=**** password=****") or die("0");
if ($db) {echo "1";} else {echo "0"}

在JS中:

$(document).ready(function(){
  $.ajax({
    url: "http://fullpathto/php-services/pg_connection.php",
    cache: false
  }).done(function( result ) {
    if(result=="1") {
      /*jquery code to show a green light on a section in my html page*/
    }
    else
    {
      /*jquery code to show a red light*/}
    }
  });
});